46 lines
1.3 KiB
Python
Executable File
46 lines
1.3 KiB
Python
Executable File
import var
|
|
from bs4 import BeautifulSoup
|
|
import requests
|
|
from beloved_logger import logger
|
|
|
|
|
|
async def roll_token():
|
|
logger.debug("Rolled a new token set")
|
|
|
|
cookies = {
|
|
var.cookie_name: var.cookie_value,
|
|
'sketchers_united_session': var.session
|
|
}
|
|
|
|
logger.debug(f"Using cookies {cookies}")
|
|
|
|
headers = {
|
|
'User-Agent': 'automod',
|
|
}
|
|
|
|
get_page_correctly = False
|
|
response = None
|
|
|
|
|
|
while not get_page_correctly:
|
|
try:
|
|
response = requests.get(f'https://{var.site}', cookies=cookies, headers=headers)
|
|
|
|
if response.status_code == 200:
|
|
var.session = response.cookies["sketchers_united_session"]
|
|
logger.debug(f"Got session of {var.session}")
|
|
|
|
var.xsrf_token = response.cookies["XSRF-TOKEN"]
|
|
logger.debug(f"Got xsrf of {var.xsrf_token}")
|
|
|
|
get_page_correctly = True
|
|
else:
|
|
logger.info("An error occurred trying to get the page when rolling tokens, retrying")
|
|
|
|
except Exception as e:
|
|
logger.info(f"Exception in rolling token {e}")
|
|
|
|
soup = BeautifulSoup(response.text, 'html.parser')
|
|
var.csrf_token = soup.find('meta', {'name': 'csrf-token'}).get('content')
|
|
logger.debug(f"Got csrf of {var.csrf_token}")
|