|
|
|
.版本 2 .支持库 spec .支持库 EThread .支持库 dp1 .支持库 精易模块 .程序集 窗口程序集_启动窗口 .程序集变量 num, 整数型 .程序集变量 s, 整数型 .程序集变量 全局_headers, 文本型 .程序集变量 全局_userAgent, 文本型 .子程序 获取UmidToken, 文本型 .局部变量 响应文本, 文本型 .局部变量 UmidToken值, 文本型 .局部变量 局_headers, 文本型 局_headers = "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" + #换行符 响应文本 = 网页_访问S("https://ynuf.aliapp.org/w/wu.json", , , , 局_headers, , , , , , , , , , ) UmidToken值 = 正则_取子匹配文本_单 (响应文本, "umx\.wu$'(.*?)'$;", 1, , , ) 如果真 (UmidToken值 ≠ "") 返回 (UmidToken值) 如果真结束 调试输出 ("没有UmidToken值,重试") 返回 (获取UmidToken ()) .子程序 verify, 文本型 .局部变量 url, 文本型 .局部变量 responseText, 文本型 .局部变量 script, 文本型 .局部变量 config文本, 文本型 .局部变量 config_json, 类_json .局部变量 resp_json, 类_json .局部变量 hk_json, 类_json .局部变量 post_json, 类_json .局部变量 post响应, 文本型 .局部变量 action, 文本型 .局部变量 x5sec, 文本型 .局部变量 最终url, 文本型 .局部变量 hk响应, 文本型 url = verify_url ' 外部传入的 URL ' ===== 1. 第一次 GET 请求 ===== responseText = 网页_访问S(url, , , , 全局_headers, , , , , , , , , , ) ' 去掉注释 // 嵌入式 responseText = 子文本替换 (responseText, "// 嵌入式", "", , , 真) script = 正则_取子匹配文本 (responseText, "window\._config_ = (\{.*?\});", 1, , , 真) ' ===== 2. 如果没取到 _config_,从原文里抠 url 再请求一次 ===== 如果真 (script = "") url = 正则_取子匹配文本_单 (responseText, "\"" \+ "url\":\"" + "(.*?)\"", 1) responseText = 网页_访问S(url, , , , 全局_headers, , , , , , , , , , ) responseText = 子文本替换 (responseText, #换行符, "", , , 真) responseText = 子文本替换 (responseText, #回车符, "", , , 真) responseText = 子文本替换 (responseText, #制表符, "", , , 真) responseText = 子文本替换 (responseText, " ", "", , , 真) responseText = 子文本替换 (responseText, "//嵌入式", "", , , 真) script = 正则_取子匹配文本 (responseText, "<script>window\._config_=(.*?);</script>", 1, , , 真) 如果真结束 config文本 = script config_json.解析 (config文本) ' ===== 3. 没 SECDATA 就按 url 跳转 ===== 如果真 (config_json.取文本属性 ("SECDATA", ) = "") 调试输出 ("需跳转") verify_url = config_json.取文本属性 ("url") verify (verify_url) 返回 ("") 如果真结束 ' ===== 4. 构造 POST 数据 ===== post_json.置属性 ("url", url) post_json.置属性 ("config", config文本) post_json.置属性 ("userAgent", 全局_userAgent) post_json.置属性 ("umidtoken", 获取UmidToken ()) post_json.置属性 ("key", "R118AW") post_json.置属性 ("cookie", "") post响应 = 网页_访问S("http://120.27.110.124:8803/forward", 1, post_json.到文本 (), 全局_headers, , , , , , , , , , , ) resp_json.解析 (post响应) 调试输出 ("服务器接口响应 => " + post响应) action = config_json.取文本属性 ("action") 调试输出 ("hk类型: " + action) ' ===== 5. 拼接新 headers ===== 全局_headers = 全局_headers + "bx_et: " + resp_json.取文本属性 ("data.bx_et") + #换行符 全局_headers = 全局_headers + "bx-pp: " + resp_json.取文本属性 ("data.bx-pp") + #换行符 全局_headers = 全局_headers + "referer: " + resp_json.取文本属性 ("data.referer") + #换行符 ' ===== 6. 拿返回的 url 再次 GET ===== 最终url = resp_json.取文本属性 ("data.url") hk响应 = 网页_访问_对象 (最终url, , , , 全局_headers, , , , , , , , , , ) hk_json.解析 (网页_访问_取文本 (hk响应)) 调试输出 ("hk响应 => " + 网页_访问_取文本 (hk响应)) ' ===== 7. 提取 x5sec cookie ===== x5sec = 取Cookie_从响应对象 (hk响应, "x5sec") 如果真 (x5sec ≠ "") 调试输出 ("x5sec => " + x5sec) 如果真结束 s = s + 1 如果真 (x5sec ≠ "") num = num + 1 如果真结束 调试输出 ("目前成功率 " + 到文本 ((到小数 (num) / 到小数 (s)) × 100) + " %, " + 到文本 (num) + "/" + 到文本 (s)) 返回 (x5sec) .子程序 __启动窗口_创建完毕 .局部变量 huaUrl, 文本型 num = 0 s = 0 全局_userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" 全局_headers = "user-agent: " + 全局_userAgent + #换行符 + "cookie: " ' 替换自己 hk 网址 huaUrl = "https://ditu.amap.com/detail/get/detail?id=B00155L3DHo" ' 普通hk ' huaUrl = "https://ipassport.damai.cn/newlogin/sms/send.do" ' 窗帘 verify_url = huaUrl verify (verify_url) |
|