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