Merge branch 'refs/heads/feature/token_from_cookies' into feature/with_lan
# Conflicts: # mail/mail_reader_all_contacts.py # queue_message/appointmentrequestsender.py
This commit is contained in:
@@ -3,6 +3,8 @@ import json
|
||||
import random
|
||||
import threading
|
||||
import time
|
||||
from http.cookies import SimpleCookie
|
||||
from typing import Optional
|
||||
|
||||
import pika
|
||||
|
||||
@@ -71,6 +73,16 @@ def check_ms_mails(_mail_list_filtered):
|
||||
# check_mail(_mail.mail)
|
||||
|
||||
|
||||
def get_xsfr_token_from_cookies(cookies_str: str) -> Optional[str]:
|
||||
_simple_cookies = SimpleCookie()
|
||||
_simple_cookies.load(cookies_str)
|
||||
if "x-xsrf-token" not in _simple_cookies:
|
||||
return None
|
||||
else:
|
||||
_xsfr_token = _simple_cookies["x-xsrf-token"].value
|
||||
return _xsfr_token
|
||||
|
||||
|
||||
class AppointmentRequestSender(threading.Thread):
|
||||
def __init__(self, sub_contact_list: list, logger, cookiesPublisher: CookiesPublisher,
|
||||
bakeUpCookiesPublisher: CookiesPublisher,
|
||||
@@ -222,9 +234,9 @@ class AppointmentRequestSender(threading.Thread):
|
||||
# 如果在发送请求时出现csrf被拦截的情况,那么就需要重新发布cookie以目前的队列中,因为这个cookie可能重新利用
|
||||
self.logger.info("csrf blocked, will republish cookie")
|
||||
self.cookiesPublisher.publish_body(_received_object)
|
||||
self.logger.info("csrf blocked, will wait 60 seconds")
|
||||
time.sleep(60)
|
||||
ch.basic_ack(delivery_tag=method.delivery_tag)
|
||||
self.logger.info("csrf blocked, will wait 30 seconds")
|
||||
time.sleep(30)
|
||||
elif can_continue is not None and can_continue == RequestResult.BLOCKED:
|
||||
self.logger.info("这个cookies可以给点链接用")
|
||||
self.bakeUpCookiesPublisher.publish_body(_received_object)
|
||||
|
||||
Reference in New Issue
Block a user