|
@@ -0,0 +1,56 @@
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+"""
|
|
|
+Created on 2023-09-08
|
|
|
+---------
|
|
|
+@summary: 进入前检查浏览器 PYCCS
|
|
|
+---------
|
|
|
+@author: Lzz
|
|
|
+"""
|
|
|
+import requests
|
|
|
+import re
|
|
|
+import execjs
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+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 {}
|