artcraft/_develop/testing/curl/session_info.py

42 lines
878 B
Python
Executable File

#!/usr/bin/env python3
import requests
import re
login_url = 'http://localhost:12345/login'
session_info_url = 'http://localhost:12345/session'
r = requests.get(session_info_url)
print("===== Session Info (logged out) =====")
print(r.content)
payload = {
'username_or_email': 'echelon',
'password': 'testing',
}
r = requests.post(login_url, json=payload)
print("===== Login =====")
print('Status: {}'.format(r.status_code))
print(r.content)
for k, v in r.headers.items():
print(' {}: {}'.format(k, v))
# NB: May not be set due to cookie domain:
#r.cookies['session']
raw_set_cookie_header = r.headers['set-cookie']
m = re.match(r'session=([^;\s]+);', raw_set_cookie_header)
session_cookie = m.group(1)
cookies = { 'session': session_cookie }
r = requests.get(session_info_url, cookies=cookies)
print("===== Session Info (logged in) =====")
print(r.content)