Basic API requests
This commit is contained in:
parent
163daa9e59
commit
abb3b75ff7
1 changed files with 28 additions and 0 deletions
28
api.py
Normal file
28
api.py
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
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)
|
||||||
|
|
Loading…
Reference in a new issue