added jspl_encoder_wrapper.py
This commit is contained in:
+11
-5
@@ -247,16 +247,22 @@ function createJSPLGenerator(dateTimeStamp) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// print process.argv
|
// print process.argv
|
||||||
process.argv.forEach(function (val, index, array) {
|
// process.argv.forEach(function (val, index, array) {
|
||||||
console.log(index + ': ' + val);
|
// console.log(index + ': ' + val);
|
||||||
});
|
// });
|
||||||
var fingerprint = undefined
|
var fingerprint = undefined
|
||||||
|
var dateTimeStamp = undefined
|
||||||
if (process.argv[2] != undefined) {
|
if (process.argv[2] != undefined) {
|
||||||
fingerprint = JSON.parse(process.argv[2])
|
fingerprint = JSON.parse(process.argv[2])
|
||||||
}
|
}
|
||||||
|
dateTimeStamp = JSON.parse(process.argv[3])
|
||||||
|
|
||||||
// main
|
// main
|
||||||
|
// if (dateTimeStamp == undefined) {
|
||||||
|
// dateTimeStamp = Math.floor(Date.now() / 1000)
|
||||||
|
// }
|
||||||
// let dateTimeStamp = Math.floor(Date.now() / 1000)
|
// let dateTimeStamp = Math.floor(Date.now() / 1000)
|
||||||
let dateTimeStamp = 1754908260
|
// let dateTimeStamp = 1754908260
|
||||||
|
|
||||||
// console.log(dateTimeStamp)
|
// console.log(dateTimeStamp)
|
||||||
// 使用示例
|
// 使用示例
|
||||||
@@ -293,7 +299,7 @@ let jsplGenerator = createJSPLGenerator(dateTimeStamp);
|
|||||||
// "nm": false,
|
// "nm": false,
|
||||||
// "geb": false,
|
// "geb": false,
|
||||||
// "sqt": false,
|
// "sqt": false,
|
||||||
// "pf": "MacIntel",
|
// "pf": "Linux armv81",
|
||||||
// "hc": 8,
|
// "hc": 8,
|
||||||
// "br_oh": 745,
|
// "br_oh": 745,
|
||||||
// "br_ow": 393,
|
// "br_ow": 393,
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
def encrpte_to_jspl(fingerprint):
|
def encrpte_to_jspl(fingerprint_json):
|
||||||
dir = os.path.dirname(__file__)
|
dir = os.path.dirname(__file__)
|
||||||
# print(fingerprint_json)
|
# print(fingerprint_json)
|
||||||
p = subprocess.Popen(['node', dir + '/jspl_encoder.js', fingerprint_json], stdout=subprocess.PIPE)
|
_timestamp = int(time.time())
|
||||||
|
p = subprocess.Popen(['node', dir + '/jspl_encoder.js', fingerprint_json, str(_timestamp)], stdout=subprocess.PIPE)
|
||||||
encrypted_fingerprint = p.stdout.read()
|
encrypted_fingerprint = p.stdout.read()
|
||||||
_result = encrypted_fingerprint.decode('utf-8')
|
_result = encrypted_fingerprint.decode('utf-8')
|
||||||
return _result
|
return _result
|
||||||
@@ -44,7 +46,7 @@ if __name__ == '__main__':
|
|||||||
"nm": False,
|
"nm": False,
|
||||||
"geb": False,
|
"geb": False,
|
||||||
"sqt": False,
|
"sqt": False,
|
||||||
"pf": "MacIntel",
|
"pf": "Linux armv81",
|
||||||
"hc": 8,
|
"hc": 8,
|
||||||
"br_oh": 745,
|
"br_oh": 745,
|
||||||
"br_ow": 393,
|
"br_ow": 393,
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import json
|
import json
|
||||||
|
import random
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
from captcha.jspl_encoder_wrapper import encrpte_to_jspl
|
||||||
from models.jsdata_pojo import JsDataPojo
|
from models.jsdata_pojo import JsDataPojo
|
||||||
|
|
||||||
|
|
||||||
@@ -21,9 +23,29 @@ from models.jsdata_pojo import JsDataPojo
|
|||||||
class JsDataLeTypePojo(JsDataPojo):
|
class JsDataLeTypePojo(JsDataPojo):
|
||||||
|
|
||||||
def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
|
def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
|
||||||
vnd, pr, ts_mtp, dvm, m_s_c, m_m_c, m_c_c, m_cm_r, m_ms_r, emd: str):
|
vnd, pr, ts_mtp, dvm, m_s_c, m_m_c, m_c_c, m_cm_r, m_ms_r, emd: str, ccsB,
|
||||||
|
br_iw=513, br_ih=847, pf="Linux armv81", mob=True,
|
||||||
|
lgs=["fr-FR", "en-US", "zh-CN", "zh", "fr", "en"],
|
||||||
|
orf="debug",
|
||||||
|
bchk="3223aeb6721e0d0917e7928181193ac88dcd62fad5cadfbe7a2b2b473ecf58ee70f098dbdb1a1832e8dc6528387b0745971dbcd82384261e9a4e3f",
|
||||||
|
nt_tcp=0, nt_dns=0, nt_rd=0, nt_irt=-3.400000002235174, nt_rt=0, nt_tls=3.400000002235174,
|
||||||
|
nt_ttf=3.099999997764826, nt_swt=3.400000002235174, nt_csd=0, nt_nhp="", nt_rdc=0, nt_it="navigation",
|
||||||
|
nt_prs=0, nt_esc=-3.400000002235174, nt_ttrd=-2, nt_le=0, nt_dcle=0.10000000149011612,
|
||||||
|
nt_di=74.80000000074506, nt_dc=0, ccsT="""Error
|
||||||
|
at S (https://d.digital.hermes/tags.js:173:22)
|
||||||
|
at Un.C (https://d.digital.hermes/tags.js:1252:41
|
||||||
|
at nrWrapper (https://www.hermes.com/fr/fr/category/femme/Sacs%20et%20pochettes%20pour%20Femme%20_%20Herme%CC%80s%20France.html:7:13468)""",
|
||||||
|
ccsH="1050544242",
|
||||||
|
ccsV=",993b46baf0942a343b7e6b02fa3f8eef64727f077d3b0055af56e6994dcaf046", muev=False, prso=True,
|
||||||
|
nhi=",64,true,Nexus 5,Android,6.0,138.0.7204.184,false", k_lyts=48,
|
||||||
|
k_lytk="kg20va`l§'w8mh.71pdfoqcn[zy365x/\,-4bt9siu=j;r]e", tzp="Europe/Paris", isf2=False):
|
||||||
super().__init__(glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
|
super().__init__(glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
|
||||||
vnd, pr, ts_mtp, dvm, emd=emd)
|
vnd, pr, ts_mtp, dvm, emd=emd, ccsB=ccsB, br_iw=br_iw, br_ih=br_ih, pf=pf, mob=mob, lgs=lgs,
|
||||||
|
orf=orf, bchk=bchk, nt_tcp=nt_tcp, nt_dns=nt_dns, nt_rd=nt_rd, nt_irt=nt_irt, nt_rt=nt_rt,
|
||||||
|
nt_tls=nt_tls, nt_ttf=nt_ttf, nt_swt=nt_swt, nt_csd=nt_csd, nt_nhp=nt_nhp, nt_rdc=nt_rdc,
|
||||||
|
nt_it=nt_it, nt_prs=nt_prs, nt_esc=nt_esc, nt_ttrd=nt_ttrd, nt_le=nt_le, nt_dcle=nt_dcle,
|
||||||
|
nt_di=nt_di, nt_dc=nt_dc, ccsT=ccsT, ccsH=ccsH, ccsV=ccsV, muev=muev, prso=prso, nhi=nhi,
|
||||||
|
k_lyts=k_lyts, k_lytk=k_lytk, tzp=tzp, isf2=isf2)
|
||||||
self.jset = int(time.time()) # override from 4_34_2
|
self.jset = int(time.time()) # override from 4_34_2
|
||||||
self.emd = emd
|
self.emd = emd
|
||||||
self.dcok = ".hermes.com"
|
self.dcok = ".hermes.com"
|
||||||
@@ -50,14 +72,32 @@ class JsDataLeTypePojo(JsDataPojo):
|
|||||||
self.m_c_c = m_c_c
|
self.m_c_c = m_c_c
|
||||||
self.m_cm_r = m_cm_r
|
self.m_cm_r = m_cm_r
|
||||||
self.m_ms_r = m_ms_r
|
self.m_ms_r = m_ms_r
|
||||||
self.cfpfe = "ZnVuY3Rpb24oKXt2YXIgbj10LGk9ZG9jdW1lbnRbJ1x4NzFceDc1XHg2NVx4NzJceDc5XHg1M1x4NjVceDZjXHg2NVx4NjNceDc0XHg2Zlx4NzInXShuKDQ2MSkpO2lmKGkpeyFmdW5jdGlvbiB0KCl7dHJ5e3ZhciBuPWlbJ1x4NzNceDY4XHg2MVx4NjRceDZmXHg3" # 4.40.0
|
self.cfpfe = "KHIsbixvLGEpPT57aWYoZVtyXSllW3JdLnB1c2gobik7ZWxzZXt2YXIgcyxjO2lmKHZvaWQgMCE9PW8pZm9yKHZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxkPTA7ZDx1Lmxlbmd0aDtkKyspe3ZhciBsPXVbZF07aWYobC5nZXRB" # 5.1.5
|
||||||
self.stcfp = "Ly9kLmRpZ2l0YWwuaGVybWVzL3RhZ3MuanM6Mjo4ODYzNSkKICAgIGF0IHQuZXhwb3J0cy5kZF9hZCAoaHR0cHM6Ly9kLmRpZ2l0YWwuaGVybWVzL3RhZ3MuanM6MjoxMDc3OTYpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjYzNzkw" # 4.40.0
|
self.stcfp = "MjYxMzEpCmF0IGEgKGZpbGU6Ly8vVXNlcnMvbHBhbi9Eb2N1bWVudHMvd29ya3NwYWNlL3RhZ3NyZWNoZXJjaGUvNV8xXzUvU2FjcyUyMGV0JTIwcG9jaGV0dGVzJTIwcG91ciUyMEZlbW1lJTIwXyUyMEhlcm1lJUNDJTgwcyUyMEZyYW5jZS5odG1sOjc6Mjk4MjQp" # 5.1.5
|
||||||
|
|
||||||
|
|
||||||
test_data_json = """{"glvd":"ARM","glrd":"Mali-G57 MC2","hc":5,"br_oh":620,"br_ow":360,"br_h":620,"br_w":360,"rs_h":804,"rs_w":360,"rs_cd":24,"ars_h":804,"ars_w":360,"plg":2,"eva":33,"vnd":"Google Inc.","plu":["eTJjZUp","iZMOHLs1"],"ua":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36","dvm":4,"acw":"probably","pr":3,"ts_mtp":5,"tz":-120,"emd":"k:ai,vi,ao,vi d:defau,8f9de,defau,24476 g:4e652,f9991,defau,d5801","cookiesStr":"app.sig=_FqS3_SPN2D40Z4Qlq-_ybxzRvQ;datadome=VSGCNMYkY6L81typRJUpurlyd39dHxdfxIYc6DzRWDT7_rtZ8UodGcbow1okQR2zg_t4d_NcP0rC1ZHNz3XSDAGFZCJhFI49lai~x2Nb2unkhOlY8o4E04Wjmde~auDZ;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoiLW9jbktLVXAzMjVTOEFEdFpLUU9kSXlMIn0=;policy=accepted;lang=fr;"}"""
|
test_data_json = """{"glvd":"Google Inc. (ARM)","glrd":"ANGLE (ARM, Mali-G57 MC2, OpenGL ES 3.2)","hc":8,"br_oh":745,"br_ow":393,
|
||||||
|
"br_h":745,"br_w":393,"rs_h":876,"rs_w":393,"rs_cd":24,"ars_h":876,"ars_w":393,"plg":0,"eva":33,
|
||||||
|
"vnd":"Google Inc.","plu":[],"ua":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36","dvm":4,"acw":"probably",
|
||||||
|
"pr":2.75,"ts_mtp":5,"tz":-120,"emd":"k:ai,vi,ao",
|
||||||
|
"cookiesStr":"rskxRunCookie=0;datadome=GIfiRxEgyr5dwsnV0NoR9WPO3oA0CkMVLsqdvZLmuxHi81JFRbG7LaWKiAkSQRJTBkv3qBkGlCOC3uR00yZ9XSoCQFyE~1FcumXV8W_bgVPxfNzs6uQcZM8Ec61Q72UT;correlation_id=xlvzlpuwkh6syuqdfze05q7n41qle27qop4yjjvuifzapdo4npjlbi43uwbgle2m;ECOM_SESS=f2c2aihm0ocesmvx3dcs06ysh6;rCookie=0f3nn11uqq28ci5bqnveg5wme4bsr6e;lastRskxRun=1754748244881;x-xsrf-token=7ca984dc-6d35-4720-b77b-465392521d1b;__cf_bm=Szm2hZl9.PTO_DQF5DihrAOTq.dSmSrkKHsTqVenUxo-1754748237-1.0.1.1-gfLAB1wWYyHUb_scXGpXzAk6IkrkhvdNalhhsVhujY7xeFm02lwFKGUiTrBknONdwmvV3EKilTfiFORmJUDrjj3st4hoNdnrk0MT0SVed5w;OptanonConsent=isGpcEnabled=0&datestamp=Sat+Aug+09+2025+16%3A04%3A04+GMT%2B0200+(heure+d%E2%80%99%C3%A9t%C3%A9+d%E2%80%99Europe+centrale)&version=6.32.0&isIABGlobal=false&hosts=&landingPath=https%3A%2F%2Fwww.hermes.com%2Ffr%2Ffr%2Fproduct%2Fsac-p-tit-arcon-H085871CKAO%2F&groups=C0001%3A1%2CC0002%3A0%2CC0003%3A0%2CC0004%3A0;","model":"22041219PG",
|
||||||
|
"lgs":"[fr-FR,fr,en-US,en]",
|
||||||
|
"bchk":"3223aeb6721e0d0917e792818d193ac88dcd62fad5cad7bf7a2b2b473ecf58ee60f018dbdb1a5832e8dc6528387b0745971dbcd82387261e9a4e3f",
|
||||||
|
"nt_tcp":0,"nt_dns":0,"nt_rd":0,"nt_irt":-29.600000008940697,"nt_rt":1129,"nt_tls":6.700000002980232,"nt_ttf":1166.7000000029802,"nt_swt":22.900000005960464,
|
||||||
|
"nt_csd":411060,"nt_nhp":"h2","nt_rdc":0,"nt_it":"navigation","nt_prs":6.700000002980232,"nt_esc":0,"nt_ttrd":null,"nt_le":3.0999999940395355,"nt_dcle":141.79999999701977,
|
||||||
|
"nt_di":1415.2000000029802,"nt_dc":2862.6000000089407,"ccsB":"tags.js:1252:41 at nrWrapper (sac-p-tit-arcon-H085871CKAO.html:7:13468)",
|
||||||
|
"muev":false,"pro_t":false,"nhi":",,true,22041219PG,Android,14.0.0,128.0.6613.146,false","k_lyts":0,"k_lytk":"","serial":"fuljaueqguugf6pn"}"""
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
test_data_dict = json.loads(test_data_json)
|
test_data_dict = json.loads(test_data_json)
|
||||||
|
m_s_c = random.randint(0, 3)
|
||||||
|
m_c_c = random.randint(3, 5) # click count
|
||||||
|
m_m_c = random.randint(3, 5) # move count
|
||||||
|
m_cm_r = m_c_c / m_m_c
|
||||||
|
m_ms_r = -1 # move scroll ratio
|
||||||
|
if m_s_c == 0:
|
||||||
|
m_ms_r = -1
|
||||||
|
else:
|
||||||
|
m_ms_r = m_m_c / m_s_c
|
||||||
le_js_data = JsDataLeTypePojo(glrd=test_data_dict['glrd'], glvd=test_data_dict['glvd'], hc=test_data_dict['hc'],
|
le_js_data = JsDataLeTypePojo(glrd=test_data_dict['glrd'], glvd=test_data_dict['glvd'], hc=test_data_dict['hc'],
|
||||||
ua=test_data_dict['ua'], br_oh=test_data_dict['br_oh'], br_ow=test_data_dict['br_ow'],
|
ua=test_data_dict['ua'], br_oh=test_data_dict['br_oh'], br_ow=test_data_dict['br_ow'],
|
||||||
ars_h=test_data_dict['ars_h'], ars_w=test_data_dict['ars_w'], pr=test_data_dict['pr'],
|
ars_h=test_data_dict['ars_h'], ars_w=test_data_dict['ars_w'], pr=test_data_dict['pr'],
|
||||||
@@ -65,6 +105,23 @@ if __name__ == '__main__':
|
|||||||
plu=test_data_dict['plu'], vnd=test_data_dict['vnd'], dvm=test_data_dict['dvm'],
|
plu=test_data_dict['plu'], vnd=test_data_dict['vnd'], dvm=test_data_dict['dvm'],
|
||||||
ts_mtp=test_data_dict['ts_mtp'], eva=test_data_dict['eva'],
|
ts_mtp=test_data_dict['ts_mtp'], eva=test_data_dict['eva'],
|
||||||
rs_h=test_data_dict['rs_h'],
|
rs_h=test_data_dict['rs_h'],
|
||||||
rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd'], m_s_c=0, m_m_c=3, m_c_c=3,
|
rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd'],
|
||||||
m_cm_r=1, m_ms_r=-1, emd=test_data_dict['emd'])
|
m_s_c=m_s_c, m_m_c=m_m_c, m_c_c=m_c_c, m_cm_r=m_cm_r, m_ms_r=m_ms_r,
|
||||||
|
emd=test_data_dict['emd'],
|
||||||
|
bchk=test_data_dict['bchk'],
|
||||||
|
ccsB=test_data_dict['ccsB'],
|
||||||
|
nt_tcp=test_data_dict['nt_tcp'],
|
||||||
|
nt_dns=test_data_dict['nt_dns'],
|
||||||
|
nt_rd=test_data_dict['nt_rd'], nt_irt=test_data_dict['nt_irt'],
|
||||||
|
nt_rt=test_data_dict['nt_rt'],
|
||||||
|
nt_tls=test_data_dict['nt_tls'], nt_ttf=test_data_dict['nt_ttf'],
|
||||||
|
nt_swt=test_data_dict['nt_swt'],
|
||||||
|
nt_csd=test_data_dict['nt_csd'], nt_nhp=test_data_dict['nt_nhp'],
|
||||||
|
nt_rdc=test_data_dict['nt_rdc'],
|
||||||
|
nt_it=test_data_dict['nt_it'], nt_prs=test_data_dict['nt_prs'],
|
||||||
|
nt_esc=test_data_dict['nt_esc'],
|
||||||
|
nt_ttrd=test_data_dict['nt_ttrd'], nt_le=test_data_dict['nt_le'],
|
||||||
|
nt_dcle=test_data_dict['nt_dcle'], nt_di=test_data_dict['nt_di'],
|
||||||
|
nt_dc=test_data_dict['nt_dc'])
|
||||||
print(le_js_data.to_url_encoded_json())
|
print(le_js_data.to_url_encoded_json())
|
||||||
|
print(encrpte_to_jspl(le_js_data.to_url_encoded_json()))
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ class JsDataPojo:
|
|||||||
def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
|
def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
|
||||||
vnd, pr, ts_mtp, dvm, emd,
|
vnd, pr, ts_mtp, dvm, emd,
|
||||||
ccsB,
|
ccsB,
|
||||||
br_iw=513, br_ih=847, pf="MacIntel", mob=True,
|
br_iw=513, br_ih=847, pf="Linux armv81", mob=True,
|
||||||
lgs=["fr-FR", "en-US", "zh-CN", "zh", "fr", "en"],
|
lgs=["fr-FR", "en-US", "zh-CN", "zh", "fr", "en"],
|
||||||
orf="debug",
|
orf="debug",
|
||||||
bchk="3223aeb6721e0d0917e7928181193ac88dcd62fad5cadfbe7a2b2b473ecf58ee70f098dbdb1a1832e8dc6528387b0745971dbcd82384261e9a4e3f",
|
bchk="3223aeb6721e0d0917e7928181193ac88dcd62fad5cadfbe7a2b2b473ecf58ee70f098dbdb1a1832e8dc6528387b0745971dbcd82384261e9a4e3f",
|
||||||
@@ -423,7 +423,7 @@ if __name__ == '__main__':
|
|||||||
nt_csd=test_data_dict['nt_csd'], nt_nhp=test_data_dict['nt_nhp'], nt_rdc=test_data_dict['nt_rdc'],
|
nt_csd=test_data_dict['nt_csd'], nt_nhp=test_data_dict['nt_nhp'], nt_rdc=test_data_dict['nt_rdc'],
|
||||||
nt_it=test_data_dict['nt_it'], nt_prs=test_data_dict['nt_prs'], nt_esc=test_data_dict['nt_esc'],
|
nt_it=test_data_dict['nt_it'], nt_prs=test_data_dict['nt_prs'], nt_esc=test_data_dict['nt_esc'],
|
||||||
nt_ttrd=test_data_dict['nt_ttrd'], nt_le=test_data_dict['nt_le'],
|
nt_ttrd=test_data_dict['nt_ttrd'], nt_le=test_data_dict['nt_le'],
|
||||||
nt_dcle=test_data_dict['nt_dcle'], nt_di=test_data_dict['nt_di'], nt_dc=test_data_dict['nt_dc'], )
|
nt_dcle=test_data_dict['nt_dcle'], nt_di=test_data_dict['nt_di'], nt_dc=test_data_dict['nt_dc'] )
|
||||||
print(js.to_url_encoded_json())
|
print(js.to_url_encoded_json())
|
||||||
# text_file = open("jsdata.txt", "w")
|
# text_file = open("jsdata.txt", "w")
|
||||||
# # write string to file
|
# # write string to file
|
||||||
|
|||||||
@@ -131,9 +131,18 @@ class AppointmentRequestSender(threading.Thread):
|
|||||||
ars_h=_received_dict['ars_h'], ars_w=_received_dict['ars_w'], pr=_received_dict['pr'],
|
ars_h=_received_dict['ars_h'], ars_w=_received_dict['ars_w'], pr=_received_dict['pr'],
|
||||||
plg=_received_dict['plg'], br_h=_received_dict['br_h'], br_w=_received_dict['br_w'],
|
plg=_received_dict['plg'], br_h=_received_dict['br_h'], br_w=_received_dict['br_w'],
|
||||||
plu=_received_dict['plu'], vnd=_received_dict['vnd'], dvm=_received_dict['dvm'],
|
plu=_received_dict['plu'], vnd=_received_dict['vnd'], dvm=_received_dict['dvm'],
|
||||||
ts_mtp=_received_dict['ts_mtp'], eva=_received_dict['eva'],
|
ts_mtp=_received_dict['ts_mtp'], eva=_received_dict['eva'], rs_h=_received_dict['rs_h'],
|
||||||
rs_h=_received_dict['rs_h'],
|
rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], emd=_received_dict['emd'],
|
||||||
rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], emd=_received_dict['emd'])
|
bchk=_received_dict['bchk'],
|
||||||
|
ccsB=_received_dict['ccsB'],
|
||||||
|
nt_tcp=_received_dict['nt_tcp'],
|
||||||
|
nt_dns=_received_dict['nt_dns'],
|
||||||
|
nt_rd=_received_dict['nt_rd'], nt_irt=_received_dict['nt_irt'], nt_rt=_received_dict['nt_rt'],
|
||||||
|
nt_tls=_received_dict['nt_tls'], nt_ttf=_received_dict['nt_ttf'], nt_swt=_received_dict['nt_swt'],
|
||||||
|
nt_csd=_received_dict['nt_csd'], nt_nhp=_received_dict['nt_nhp'], nt_rdc=_received_dict['nt_rdc'],
|
||||||
|
nt_it=_received_dict['nt_it'], nt_prs=_received_dict['nt_prs'], nt_esc=_received_dict['nt_esc'],
|
||||||
|
nt_ttrd=_received_dict['nt_ttrd'], nt_le=_received_dict['nt_le'],
|
||||||
|
nt_dcle=_received_dict['nt_dcle'], nt_di=_received_dict['nt_di'], nt_dc=_received_dict['nt_dc'] )
|
||||||
_received_cookies = _received_dict["cookiesStr"]
|
_received_cookies = _received_dict["cookiesStr"]
|
||||||
# remove already sent contacts
|
# remove already sent contacts
|
||||||
self.contact_list = filter_contacts(self.contact_list, self.already_tried_contact_list)
|
self.contact_list = filter_contacts(self.contact_list, self.already_tried_contact_list)
|
||||||
@@ -178,21 +187,25 @@ class AppointmentRequestSender(threading.Thread):
|
|||||||
else:
|
else:
|
||||||
m_ms_r = m_m_c / m_s_c
|
m_ms_r = m_m_c / m_s_c
|
||||||
|
|
||||||
js_le_data = JsDataLeTypePojo(glrd=_received_dict['glrd'], glvd=_received_dict['glvd'],
|
js_le_data = JsDataLeTypePojo(glrd=_received_dict['glrd'], glvd=_received_dict['glvd'], hc=_received_dict['hc'],
|
||||||
hc=_received_dict['hc'],
|
ua=_received_dict['ua'], br_oh=_received_dict['br_oh'], br_ow=_received_dict['br_ow'],
|
||||||
ua=_received_dict['ua'], br_oh=_received_dict['br_oh'],
|
ars_h=_received_dict['ars_h'], ars_w=_received_dict['ars_w'], pr=_received_dict['pr'],
|
||||||
br_ow=_received_dict['br_ow'],
|
plg=_received_dict['plg'], br_h=_received_dict['br_h'], br_w=_received_dict['br_w'],
|
||||||
ars_h=_received_dict['ars_h'], ars_w=_received_dict['ars_w'],
|
plu=_received_dict['plu'], vnd=_received_dict['vnd'], dvm=_received_dict['dvm'],
|
||||||
pr=_received_dict['pr'],
|
ts_mtp=_received_dict['ts_mtp'], eva=_received_dict['eva'], rs_h=_received_dict['rs_h'],
|
||||||
plg=_received_dict['plg'], br_h=_received_dict['br_h'],
|
rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], emd=_received_dict['emd'],
|
||||||
br_w=_received_dict['br_w'],
|
bchk=_received_dict['bchk'],
|
||||||
plu=_received_dict['plu'], vnd=_received_dict['vnd'],
|
ccsB=_received_dict['ccsB'],
|
||||||
dvm=_received_dict['dvm'],
|
nt_tcp=_received_dict['nt_tcp'],
|
||||||
ts_mtp=_received_dict['ts_mtp'], eva=_received_dict['eva'],
|
nt_dns=_received_dict['nt_dns'],
|
||||||
rs_h=_received_dict['rs_h'],
|
nt_rd=_received_dict['nt_rd'], nt_irt=_received_dict['nt_irt'], nt_rt=_received_dict['nt_rt'],
|
||||||
rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'],
|
nt_tls=_received_dict['nt_tls'], nt_ttf=_received_dict['nt_ttf'], nt_swt=_received_dict['nt_swt'],
|
||||||
|
nt_csd=_received_dict['nt_csd'], nt_nhp=_received_dict['nt_nhp'], nt_rdc=_received_dict['nt_rdc'],
|
||||||
|
nt_it=_received_dict['nt_it'], nt_prs=_received_dict['nt_prs'], nt_esc=_received_dict['nt_esc'],
|
||||||
|
nt_ttrd=_received_dict['nt_ttrd'], nt_le=_received_dict['nt_le'],
|
||||||
|
nt_dcle=_received_dict['nt_dcle'], nt_di=_received_dict['nt_di'], nt_dc=_received_dict['nt_dc'],
|
||||||
m_s_c=m_s_c, m_m_c=m_m_c, m_c_c=m_c_c,
|
m_s_c=m_s_c, m_m_c=m_m_c, m_c_c=m_c_c,
|
||||||
m_cm_r=m_cm_r, m_ms_r=m_ms_r, emd=_received_dict['emd'])
|
m_cm_r=m_cm_r, m_ms_r=m_ms_r)
|
||||||
time.sleep(random.randint(1, 4))
|
time.sleep(random.randint(1, 4))
|
||||||
_new_le_cookies = captchaResultGetter.get_le_valid_cookie(proxy_to_use=_proxy_to_use,
|
_new_le_cookies = captchaResultGetter.get_le_valid_cookie(proxy_to_use=_proxy_to_use,
|
||||||
js_le_type_data=js_le_data,
|
js_le_type_data=js_le_data,
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import re
|
|||||||
from typing import Union
|
from typing import Union
|
||||||
# import requests
|
# import requests
|
||||||
from curl_cffi import requests
|
from curl_cffi import requests
|
||||||
|
|
||||||
|
from captcha.jspl_encoder_wrapper import encrpte_to_jspl
|
||||||
from models.jsdata_le_pojo import JsDataLeTypePojo
|
from models.jsdata_le_pojo import JsDataLeTypePojo
|
||||||
from models.jsdata_pojo import JsDataPojo
|
from models.jsdata_pojo import JsDataPojo
|
||||||
from models.result_pojo import RequestResult
|
from models.result_pojo import RequestResult
|
||||||
@@ -104,9 +106,10 @@ class CaptchaResultGetter:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def get_ch_raw_data_from_js_data(self, js_data: JsDataPojo, old_valid_cookie) -> str:
|
def get_ch_raw_data_from_js_data(self, js_data: JsDataPojo, old_valid_cookie) -> str:
|
||||||
_tag_version = "4.35.0"
|
_tag_version = "5.1.5"
|
||||||
_raw_data = "jsData={}&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 = encrpte_to_jspl(js_data.to_url_encoded_json())
|
||||||
js_data.to_url_encoded_json(), old_valid_cookie, _tag_version)
|
_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)
|
||||||
print("raw ch data is " + _raw_data)
|
print("raw ch data is " + _raw_data)
|
||||||
return _raw_data
|
return _raw_data
|
||||||
|
|
||||||
@@ -173,8 +176,9 @@ class CaptchaResultGetter:
|
|||||||
# _le_js_raw_data = self.get_le_raw_data_from_js_data(js_le_type_data=js_le_type_data,
|
# _le_js_raw_data = self.get_le_raw_data_from_js_data(js_le_type_data=js_le_type_data,
|
||||||
# old_valid_cookie=old_valid_cookie)
|
# old_valid_cookie=old_valid_cookie)
|
||||||
_cid = get_datadome_cookies(old_valid_cookie)
|
_cid = get_datadome_cookies(old_valid_cookie)
|
||||||
_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=4.35.0".format(
|
_jspl = encrpte_to_jspl(js_le_type_data.to_url_encoded_json())
|
||||||
js_le_type_data.to_url_encoded_json(), mousemove_count, click_count, scroll_count, touch_count, touch_count,
|
_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.5".format(
|
||||||
|
_jspl, mousemove_count, click_count, scroll_count, touch_count, touch_count,
|
||||||
touch_move,
|
touch_move,
|
||||||
key_count,
|
key_count,
|
||||||
key_count, _cid)
|
key_count, _cid)
|
||||||
|
|||||||
Reference in New Issue
Block a user