From f591ff14acd22916b6b33cb130097d46fd6612fa Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Fri, 12 Dec 2025 14:50:23 +0100 Subject: [PATCH 1/3] use 5.1.12 tags.js --- workers/captcha_result_getter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/captcha_result_getter.py b/workers/captcha_result_getter.py index 817c052..6ec2ae7 100644 --- a/workers/captcha_result_getter.py +++ b/workers/captcha_result_getter.py @@ -109,7 +109,7 @@ class CaptchaResultGetter: return None def get_ch_raw_data_from_js_data(self, js_data: JsDataPojo, old_valid_cookie) -> str: - _tag_version = "5.1.9" + _tag_version = "5.1.12" _jspl = encrpte_to_jspl(js_data.to_url_encoded_json()) _raw_data = "jspl={}&eventCounters=%5B%5D&jsType=ch&cid={}&ddk=789361B674144528D0B7EE76B35826&Referer=https%253A%252F%252Frendezvousparis.hermes.com%252Fclient%252Fregister&request=%252Fclient%252Fregister&responsePage=origin&ddv={}".format( _jspl, old_valid_cookie, _tag_version) @@ -180,7 +180,7 @@ class CaptchaResultGetter: # old_valid_cookie=old_valid_cookie) _cid = get_datadome_cookies(old_valid_cookie) _jspl = encrpte_to_jspl(js_le_type_data.to_url_encoded_json()) - _raw_data = "jsData={}&eventCounters=%7B%22mousemove%22%3A{}%2C%22click%22%3A{}%2C%22scroll%22%3A{}%2C%22touchstart%22%3A{}%2C%22touchend%22%3A{}%2C%22touchmove%22%3A{}%2C%22keydown%22%3A{}%2C%22keyup%22%3A{}%7D&jsType=le&cid={}&ddk=789361B674144528D0B7EE76B35826&Referer=https%253A%252F%252Frendezvousparis.hermes.com%252Fclient%252Fregister&request=%252Fclient%252Fregister&responsePage=origin&ddv=5.1.9".format( + _raw_data = "jsData={}&eventCounters=%7B%22mousemove%22%3A{}%2C%22click%22%3A{}%2C%22scroll%22%3A{}%2C%22touchstart%22%3A{}%2C%22touchend%22%3A{}%2C%22touchmove%22%3A{}%2C%22keydown%22%3A{}%2C%22keyup%22%3A{}%7D&jsType=le&cid={}&ddk=789361B674144528D0B7EE76B35826&Referer=https%253A%252F%252Frendezvousparis.hermes.com%252Fclient%252Fregister&request=%252Fclient%252Fregister&responsePage=origin&ddv=5.1.12".format( _jspl, mousemove_count, click_count, scroll_count, touch_count, touch_count, touch_move, key_count, From c7a619503b782de88569b1d621685b61ff412f67 Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Sat, 13 Dec 2025 10:29:23 +0100 Subject: [PATCH 2/3] define PROXY_TIMEOUT_S --- workers/captcha_result_getter.py | 8 ++++---- workers/proxy_constants.py | 1 + workers/sender.py | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 workers/proxy_constants.py diff --git a/workers/captcha_result_getter.py b/workers/captcha_result_getter.py index 6ec2ae7..cccc820 100644 --- a/workers/captcha_result_getter.py +++ b/workers/captcha_result_getter.py @@ -14,13 +14,13 @@ from models.jsdata_pojo import JsDataPojo from models.result_pojo import RequestResult from utils.get_only_datadome_cookies import get_datadome_cookies, get_app_cookies, get_lang_cookies, \ retain_only_dataome_cookies +from workers.proxy_constants import PROXY_TIMEOUT_S API_KEY = "d66aaf490d8aa424a5175e1fbd1aadea" HOST_ADDRESS = "https://api.2captcha.com/createTask" HERMES_REGISTER = "https://rendezvousparis.hermes.com/client/register" - class CaptchaResultGetter: def __init__(self): @@ -51,7 +51,7 @@ class CaptchaResultGetter: print(proxy_to_use) try: response = requests.get(url=HERMES_REGISTER, headers=headers, verify=False, proxies=proxy_to_use, - timeout=15) + timeout=PROXY_TIMEOUT_S) print(response.status_code) if response.status_code == 200: print(response.text) @@ -94,7 +94,7 @@ class CaptchaResultGetter: raw_data = self.get_le_type_raw_data(old_valid_cookie=old_valid_cookie, js_le_type_data=js_le_type_data) response = requests.post(url="https://d.digital.hermes/js/", headers=headers, verify=False, data=raw_data, - proxies=proxy_to_use, timeout=15) + proxies=proxy_to_use, timeout=PROXY_TIMEOUT_S) # print(response.status_code) if response.status_code == 200: print(response.text) @@ -149,7 +149,7 @@ class CaptchaResultGetter: response = requests.post(url="https://d.digital.hermes/js/", headers=headers, verify=False, data=self.get_ch_raw_data_from_js_data(js_data=js_data, old_valid_cookie=_cookies_to_use), - proxies=proxy_to_use, timeout=15) + proxies=proxy_to_use, timeout=PROXY_TIMEOUT_S) print(response.status_code) if response.status_code == 200: print(response.text) diff --git a/workers/proxy_constants.py b/workers/proxy_constants.py new file mode 100644 index 0000000..b6e97e7 --- /dev/null +++ b/workers/proxy_constants.py @@ -0,0 +1 @@ +PROXY_TIMEOUT_S = 20 \ No newline at end of file diff --git a/workers/sender.py b/workers/sender.py index 69bdddb..4ed806e 100644 --- a/workers/sender.py +++ b/workers/sender.py @@ -13,6 +13,7 @@ from models.result_pojo import RequestResult from queue_message.CookiesPublisher import CookiesPublisher from utils.address_ip import get_address_ip from workers.captcha_result_getter import CaptchaResultGetter +from workers.proxy_constants import PROXY_TIMEOUT_S def get_chrome_version_from_ua(ua): @@ -206,7 +207,7 @@ class Sender: proxy_to_use = self.proxy_to_use # print(proxy_to_use) response = requests.post(url=url, proxies=proxy_to_use, verify=False, headers=headers, data=data, - timeout=15, allow_redirects=False, impersonate="chrome99_android") + timeout=PROXY_TIMEOUT_S, allow_redirects=False, impersonate="chrome99_android") self.logger.info(response.status_code) if response.status_code == 302: # add to mongodb From 2073dd2377410ab2034e9f03fcba36283246402e Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Wed, 17 Dec 2025 11:18:46 +0100 Subject: [PATCH 3/3] use mongo2 db --- db/mongo_manager.py | 4 ++-- scheduler_link_validator.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/db/mongo_manager.py b/db/mongo_manager.py index 6dc8e16..4039e85 100755 --- a/db/mongo_manager.py +++ b/db/mongo_manager.py @@ -11,7 +11,7 @@ from models.contact_pojo import ContactPojo from models.mail_pojo import MailAddress from models.regisered_user_pojo import RegisteredUserPojo -MONGO_DB_URL = "mongodb://mongo.lpaconsulting.fr/?timeoutMS=100000" +MONGO_DB_URL = "mongodb://mongo2.lpaconsulting.fr/?timeoutMS=100000" CAPTCHA_ERROR_COLLECTION_PREFIX = "CAPTCHA_ERROR_" BLACK_LIST = "BLACK_LIST" ACCEPTED_APPOINTMENT_LIST = "ACCEPTED_APPOINTMENT_LIST" @@ -25,7 +25,7 @@ CONTACT_LIST_SERIAL_MAP = "CONTACT_LIST_SERIAL_MAP" class MongoDbManager: def __init__(self): - client = MongoClient(MONGO_DB_URL, username='appointment', password='Rdv@2022', authSource='appointment') + client = MongoClient(MONGO_DB_URL, username='appointment', password='Rdv@20222021', authSource='appointment') self.db = client.appointment self.logger = logging.getLogger("mongoDb") diff --git a/scheduler_link_validator.py b/scheduler_link_validator.py index f984da4..e055ca9 100644 --- a/scheduler_link_validator.py +++ b/scheduler_link_validator.py @@ -5,8 +5,8 @@ from link_validator_executor import start_link_validation def start_check_results_job(sched): - sched.add_job(start_link_validation, 'cron', day_of_week='mon-sat', hour='13', - minute='48', + sched.add_job(start_link_validation, 'cron', day_of_week='mon-sun', hour='14', + minute='10', misfire_grace_time=10, second='10', timezone='Europe/Paris', max_instances=1, args=[])