# -*- coding: utf-8 -*- """ Created on 2023-09-08 --------- @summary: 进入前检查浏览器 PYCCS --------- @author: Lzz """ import re import execjs import requests def get_PYCCS_ck(url, headers, proxies=False): session = requests.session() session.proxies = proxies ex_js = ''' function get_ck(a,b,c) { var x08c924 = parseInt(a); x08c924 = x08c924 * parseInt(b); x08c924 = x08c924 + parseInt(c); x08c924 = (x08c924 * 0x3 + 0x7); if (x08c924 < 0x7b) x08c924 = x08c924 + 0x929; if (x08c924 > 0x929) x08c924 = Math['floor'](x08c924 / 0x7b); return x08c924 } ''' ctx = execjs.compile(ex_js) count = 0 while count < 3: try: res = session.get(url, headers=headers, timeout=60,verify=False) pm_data = "".join(re.findall('\|function\|(.*?)\|version\|',res.text,re.S)).split('|') answer = ctx.call('get_ck',pm_data[1],pm_data[3],pm_data[-1]) data = { "answer": f"{answer}" } resp = session.post(url.split('?')[0], headers=headers, data=data,timeout=60,verify=False) cookies = session.cookies.get_dict() if re.findall('\|function\|(.*?)\|version\|',resp.text,re.S): print(f"请求解析异常!重试 {count} 次") count += 1 else: return cookies except: print("cookies_PYCCS 获取失败!") return {}