From 00db63d09ba56d8ba203fd0e00727189d704c298 Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Tue, 24 Sep 2024 17:10:04 +0200 Subject: [PATCH] try to add model in the request header --- queue_message/appointmentrequestsender.py | 4 ++- workers/link_validator_with_provided_list.py | 2 +- workers/sender.py | 30 ++++++++++++++++++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/queue_message/appointmentrequestsender.py b/queue_message/appointmentrequestsender.py index aa0d361..ddbd8b4 100644 --- a/queue_message/appointmentrequestsender.py +++ b/queue_message/appointmentrequestsender.py @@ -181,7 +181,9 @@ class AppointmentRequestSender(threading.Thread): sender.cookie_str = _new_le_cookies time.sleep(random.randint(1, 3)) self.already_tried_contact_list.append(con) - can_continue = sender.send_request(HERMES_REGISTER, js_data, con, csrf=self.valid_csrf) + _telephone_model = _received_dict['model'] + can_continue = sender.send_request(HERMES_REGISTER, js_data, con, model=_telephone_model, + csrf=self.valid_csrf) if can_continue == RequestResult.SUCCESS: # 让服务器读取成功的约会 try: diff --git a/workers/link_validator_with_provided_list.py b/workers/link_validator_with_provided_list.py index 2f2fcff..aaf8df5 100644 --- a/workers/link_validator_with_provided_list.py +++ b/workers/link_validator_with_provided_list.py @@ -62,7 +62,7 @@ class LinkValidatorWithProvidedList(threading.Thread): 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, br', 'Cache-Control': 'max-age=0', - # 'Referer': linkPojo.url, + 'Referer': linkPojo.url, 'Cookie': self.cookie_str, 'Sec-Fetch-Mode': 'navigate', 'Host': 'rendezvousparis.hermes.com', diff --git a/workers/sender.py b/workers/sender.py index 8abbf33..d0e9d0a 100644 --- a/workers/sender.py +++ b/workers/sender.py @@ -1,6 +1,7 @@ import datetime import json import random +import re import time from http.cookies import SimpleCookie from models.contact_pojo import ContactPojo @@ -14,6 +15,15 @@ from queue_message.CookiesPublisher import CookiesPublisher from utils.address_ip import get_address_ip +def get_chrome_version_from_ua(ua): + _result = re.findall("Chrome\/([0-9]*)", ua) + print(_result) + if len(_result) > 0: + return _result[0] + else: + "128" + + class Sender: def __init__(self, cookie_str, cookiesPublisher: CookiesPublisher, received_dict, proxy_to_use, logger): @@ -59,7 +69,8 @@ class Sender: def get_csrf(self): pass - def send_request(self, url, js_data: JsDataPojo, contact: ContactPojo, csrf: str = None) -> RequestResult: + def send_request(self, url, js_data: JsDataPojo, contact: ContactPojo, model: str, + csrf: str = None) -> RequestResult: if csrf is None: if self._csrf is None: _csrf = '8Bs2dBwb-nHONOzo9Tei2CcMZglEfsRqUz8E' @@ -68,6 +79,11 @@ class Sender: else: self._csrf = csrf _csrf = csrf + self.logger.info("model is:{}".format(model)) + _chrome_version = get_chrome_version_from_ua(js_data.ua) + _chrome_ua_header = '"Chromium";v="{}", "Not;A=Brand";v="24", "Google Chrome";v="{}"'.format(_chrome_version, + _chrome_version) + self.logger.info("chrome_ua_header is:{}".format(_chrome_ua_header)) # 默认为空,也就是随机 _selected_store = '' if contact.store is not None and contact.store != "random": @@ -77,8 +93,13 @@ class Sender: headers = {'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': js_data.ua, 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8', - 'Cookie': self.cookie_str, 'Referer': 'https://rendezvousparis.hermes.com/client/register', + 'Cookie': self.cookie_str, + 'Referer': 'https://rendezvousparis.hermes.com/client/register', 'Sec-Fetch-Mode': 'navigate', + 'sec-ch-ua-platform': '"Android"', + 'sec-ch-ua-arch': '""', + 'sec-ch-ua': _chrome_ua_header, + 'sec-ch-ua-model': model, 'Sec-Fetch-Dest': 'document', 'Accept-Language': 'fr-FR,fr;q=0.6'} data = {'check': '', '_csrf': _csrf, 'prefer': _selected_store, @@ -130,3 +151,8 @@ class Sender: except Exception as Error: print(Error) return RequestResult.PROXY_ERROR + + +if __name__ == '__main__': + get_chrome_version_from_ua( + "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36")