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:
2025-07-11 12:50:50 +02:00
6 changed files with 71 additions and 47 deletions
+14 -2
View File
@@ -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)