wf-market/api.py

29 lines
1.1 KiB
Python
Raw Normal View History

2022-11-04 13:16:34 +05:00
import requests
import os, getpass, re, pickle, getpass
class Session():
def __init__(self):
self.client = requests.Session()
def set_csrf(self):
self.client.headers['x-csrftoken'] = re.search('csrf-token\" content=\"(.*)\">', self.client.get('https://warframe.market').text).group(1)
def api_request(self, url='/', method='get', **kwargs):
return getattr(self.client, method)('https://api.warframe.market/v1' + url, **kwargs)
def login(self, force = False):
self.set_csrf()
if os.path.exists('JWT.pkl') and not force:
with open('JWT.pkl', 'rb') as f:
self.client.cookies.update(pickle.load(f))
else:
self.api_request(url='/auth/signin', method='post', json={
"auth_type": "cookie",
"email": input('Email: '),
"password": getpass.getpass("Password: ")
})
if self.client.cookies.get('JWT'):
with open('JWT.pkl', 'wb') as f:
pickle.dump(self.client.cookies. f)