В настоящее время я работаю над сеансами с использованием Python запросов.
Чтобы правильно организовать файлы и функции, я разделил функции на несколько python файлов.
Я собираюсь чтобы показать вам текущий файл shema, у меня есть папка конфигурации, которая содержит:
utils_session.py
: содержит 3 функции: функции подключения, отключения и проверки, которые позволяют вам проверить, открыт ли сеанс main_session.py
: используйте argparse для вызова функций файла utils_session.py
Когда я подключаюсь к учетной записи, используя login
, я больше не могу повторно использовать переменную сеанса для продолжения Чтобы выполнить другие функции, я не нашел решения для сохранения сеанса, чтобы использовать его несколько раз.
Код: main_session.py
:
from utils_session import *
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Welcome to the Session configuration.')
parser.add_argument('-in', action='store_true', dest='login', default=False, help='Log in')
parser.add_argument('-out', action='store_true', dest='logout', default=False, help='Log out')
parser.add_argument('-check', action='store_true', dest='Check', default=False, help='Check if the session is open')
args = parser.parse_args()
with requests.Session() as session:
if args.login:
session = login_session())
if args.logout:
print(logout_session(session))
if args.Check:
print(verification_session(session))
Код: utils_session.py
:
def logout_session(session):
try:
session.get("logout_url", headers=headers)
return True
except requests.exceptions.RequestException as e:
raise SystemExit(e)
def login_session():
try:
with requests.Session() as session:
req = session.get(login_url, headers=headers)
session.post(login_url_submit, data=login_data, headers=headers)
sleep(rand_sleep_very_short())
return True, session
except requests.exceptions.RequestException as e:
raise SystemExit(e)