share cookies with click link programme when blocked.
This commit is contained in:
@@ -64,12 +64,14 @@ def is_open():
|
|||||||
|
|
||||||
class AppointmentRequestSender(threading.Thread):
|
class AppointmentRequestSender(threading.Thread):
|
||||||
def __init__(self, sub_contact_list: list, logger, cookiesPublisher: CookiesPublisher,
|
def __init__(self, sub_contact_list: list, logger, cookiesPublisher: CookiesPublisher,
|
||||||
|
bakeUpCookiesPublisher: CookiesPublisher,
|
||||||
queue_name=REQUEST_DATA_QUEUE):
|
queue_name=REQUEST_DATA_QUEUE):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.connection = None
|
self.connection = None
|
||||||
self.logger = logger
|
self.logger = logger
|
||||||
self.already_tried_contact_list = []
|
self.already_tried_contact_list = []
|
||||||
self.cookiesPublisher = cookiesPublisher
|
self.cookiesPublisher = cookiesPublisher
|
||||||
|
self.bakeUpCookiesPublisher = bakeUpCookiesPublisher
|
||||||
self.channel = None
|
self.channel = None
|
||||||
self.valid_csrf = None
|
self.valid_csrf = None
|
||||||
self.list_to_retrieve_mails = sub_contact_list
|
self.list_to_retrieve_mails = sub_contact_list
|
||||||
@@ -203,8 +205,15 @@ class AppointmentRequestSender(threading.Thread):
|
|||||||
time.sleep(random.randint(1, 2))
|
time.sleep(random.randint(1, 2))
|
||||||
self.logger.info("will ack method.delivery_tag: " + str(method.delivery_tag))
|
self.logger.info("will ack method.delivery_tag: " + str(method.delivery_tag))
|
||||||
if can_continue is not None and can_continue == RequestResult.CSRF_BLOCKED:
|
if can_continue is not None and can_continue == RequestResult.CSRF_BLOCKED:
|
||||||
|
# 如果在发送请求时出现csrf被拦截的情况,那么就需要重新发布cookie以目前的队列中,因为这个cookie可能重新利用
|
||||||
self.logger.info("csrf blocked, will republish cookie")
|
self.logger.info("csrf blocked, will republish cookie")
|
||||||
self.cookiesPublisher.publish_body(_received_object)
|
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)
|
||||||
|
elif can_continue is not None and can_continue == RequestResult.BLOCKED:
|
||||||
|
self.logger.info("这个cookies可以给点链接用")
|
||||||
|
self.bakeUpCookiesPublisher.publish_body(_received_object)
|
||||||
ch.basic_ack(delivery_tag=method.delivery_tag)
|
ch.basic_ack(delivery_tag=method.delivery_tag)
|
||||||
else:
|
else:
|
||||||
ch.basic_ack(delivery_tag=method.delivery_tag)
|
ch.basic_ack(delivery_tag=method.delivery_tag)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from db.mongo_manager import MONGO_STORE_MANAGER
|
|||||||
from excel_reader import read_contacts
|
from excel_reader import read_contacts
|
||||||
from models.contact_pojo import ContactPojo
|
from models.contact_pojo import ContactPojo
|
||||||
from queue_message.CookiesPublisher import CookiesPublisher, SHARED_OBJECT, TEST_QUEUE, MORNING_DATA_CACHE, \
|
from queue_message.CookiesPublisher import CookiesPublisher, SHARED_OBJECT, TEST_QUEUE, MORNING_DATA_CACHE, \
|
||||||
MORNING_DATA_CACHE_2
|
MORNING_DATA_CACHE_2, MORNING_DATA_CACHE_BAK
|
||||||
from queue_message.appointmentrequestsender import AppointmentRequestSender
|
from queue_message.appointmentrequestsender import AppointmentRequestSender
|
||||||
from utiles import is_time_between
|
from utiles import is_time_between
|
||||||
from utils.AppLogging import init_logger
|
from utils.AppLogging import init_logger
|
||||||
@@ -60,9 +60,12 @@ def send_appointment_request(message_queue_name, _contact_list):
|
|||||||
logger.info(_contact)
|
logger.info(_contact)
|
||||||
_cookiesPublisher = CookiesPublisher(queue_name=message_queue_name)
|
_cookiesPublisher = CookiesPublisher(queue_name=message_queue_name)
|
||||||
_cookiesPublisher.set_up_connection()
|
_cookiesPublisher.set_up_connection()
|
||||||
|
_backUp_cookiesPublisher = CookiesPublisher(queue_name=MORNING_DATA_CACHE_BAK)
|
||||||
|
_backUp_cookiesPublisher.set_up_connection()
|
||||||
receiver = AppointmentRequestSender(sub_contact_list=_contact_list,
|
receiver = AppointmentRequestSender(sub_contact_list=_contact_list,
|
||||||
queue_name=message_queue_name,
|
queue_name=message_queue_name,
|
||||||
cookiesPublisher=_cookiesPublisher, logger=logger)
|
cookiesPublisher=_cookiesPublisher,
|
||||||
|
bakeUpCookiesPublisher=_backUp_cookiesPublisher, logger=logger)
|
||||||
print("count is " + str(count))
|
print("count is " + str(count))
|
||||||
receiver.run()
|
receiver.run()
|
||||||
|
|
||||||
@@ -99,6 +102,6 @@ if __name__ == '__main__':
|
|||||||
# '~/Desktop/contact_list_2024-05-21.xlsx',
|
# '~/Desktop/contact_list_2024-05-21.xlsx',
|
||||||
# '~/Desktop/15_05_to_test.xlsx']
|
# '~/Desktop/15_05_to_test.xlsx']
|
||||||
# file_list = ['~/Desktop/15_05_to_test.xlsx', '~/Desktop/16_05_to_test.xlsx']
|
# file_list = ['~/Desktop/15_05_to_test.xlsx', '~/Desktop/16_05_to_test.xlsx']
|
||||||
file_list = ['~/Desktop/contact_list_2024-06-06.xlsx']
|
file_list = ['~/Desktop/contact_list_2024-06-28.xlsx']
|
||||||
send_request_for_file_list(file_list=file_list, thread_number=10,
|
send_request_for_file_list(file_list=file_list, thread_number=10,
|
||||||
data_queue_name=MORNING_DATA_CACHE_2)
|
data_queue_name=MORNING_DATA_CACHE)
|
||||||
|
|||||||
Reference in New Issue
Block a user