开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 350|回复: 5
打印 上一主题 下一主题
收起左侧

[完成] py代码请大哥帮转成易语言

 关闭 [复制链接]
结帖率:92% (56/61)
跳转到指定楼层
楼主
发表于 16 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   山东省菏泽市
66精币
import re
import time
from loguru import logger
import requests
import json

def getUmidToken():
    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', }
    response = requests.get('https://ynuf.aliapp.org/w/wu.json', headers=headers)

    UmidTokens = re.findall("umx\.wu\('(.*?)'\);", response.text)
    if UmidTokens:
        return UmidTokens[0]

    print('没有UmidToken值,重试')

    return getUmidToken()


def verify(url=None):
    global num, s

    response = requests.get(url, headers=headers)

    script = re.findall('window._config_ = ({.*?});', response.text.replace('// 嵌入式', ''), re.S)

    if not script:
        url = re.findall('"url":"(.*?)"',response.text)[0]
        response = requests.get(url, headers=headers)
        res = response.text.replace('\n', '').replace('\r', '').replace('\t', '').replace(' ', '').replace('//嵌入式', '')
        script = re.findall('<script>window._config_=(.*?);</script>', res)

    script = script[0]
    config = json.loads(script)

    if 'SECDATA' not in config:
        print('需跳转')
        url = config['url']
        return verify(url=url)

    json_data = {
        'url': url,
        'config': config,
        'userAgent': headers['user-agent'],
        'umidtoken':getUmidToken(),
        'key': 'R118AW',
        'cookie': ''
    }

    response = requests.post('http://120.27.110.124:8803/forward', json=json_data, headers=headers)


    logger.info(f"服务器接口响应 => {response.json()}")
    action = config['action']
    logger.info(f"hk类型: {action}")
    headers['bx_et'] = response.json()['data']['bx_et']
    headers['bx-pp'] = response.json()['data']['bx-pp']
    headers['referer'] = response.json()['data']['referer']
    url = response.json()['data']['url']
    response = requests.get(url, headers=headers)
    logger.info(f'hk响应 => {response.json()}')
    x5sec = response.cookies.get("x5sec")
    if x5sec: logger.info(f'x5sec => {x5sec}')
    s += 1
    if x5sec:
        num += 1
    logger.info(f'目前成功率 {num / s * 100} %, {num}/{s}')
    return response.cookies.get("x5sec")

num = 0
s = 0

headers = {
    'user-agent': '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',
    'cookie': '',
}


if __name__ == '__main__':

    # 替换自己hk网址
    huaUrl = 'https://ditu.amap.com/detail/get/detail?id=B00155L3DHo'  # 普通hk
    # huaUrl = 'https://ipassport.damai.cn/newlogin/sms/send.do'   # 窗帘

    verify(huaUrl)


最佳答案

查看完整内容

* “{"code":0,"dt":"success","ec":200,"result":{"code":0,"sig":"from bx"},"success":true}” | “x5sec=7b2267616f64652d617365727665722d696e67726573733b32223a226162346162616462316665366133336331646461363132643937303064333833434a583470394547454c576d6f6f59474b4941454d4c7a47384d54342f2f2f2f2f77453d222c22733b32223a2261363461323337316364646264653731227d” 返回结果和x5sec 纯手撸的代码。。。 ...
结帖率:33% (1/3)

签到天数: 11 天

沙发
发表于 16 小时前 | 只看该作者   广东省中山市
demo.zip (1.27 MB, 下载次数: 5)


* “{"code":0,"dt":"success","ec":200,"result":{"code":0,"sig":"from bx"},"success":true}” | “x5sec=7b2267616f64652d617365727665722d696e67726573733b32223a226162346162616462316665366133336331646461363132643937303064333833434a583470394547454c576d6f6f59474b4941454d4c7a47384d54342f2f2f2f2f77453d222c22733b32223a2261363461323337316364646264653731227d”

返回结果和x5sec  纯手撸的代码。。。
回复

使用道具 举报

签到天数: 1 天

板凳
发表于 16 小时前 | 只看该作者   浙江省台州市
.程序集 窗口程序集_启动窗口
.程序集变量 num, 整数型
.程序集变量 s, 整数型
.程序集变量 headers_UA, 文本型

.子程序 __启动窗口_创建完毕

num = 0
s = 0
headers_UA = "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"

' 开始验证流程
verify ("https://ditu.amap.com/detail/get/detail?id=B00155L3DHo")
对应 Python 中的 getUmidToken 函数。这里使用了精易模块的正则表达式提取功能。
e

编辑



.子程序 getUmidToken, 文本型
.局部变量 response_text, 文本型
.局部变量 token_arr, 文本型, , "0"

response_text = 网页_访问 ("https://ynuf.aliapp.org/w/wu.json", 0, , , headers_UA)

' 使用正则提取 umidtoken
token_arr = 正则匹配 ("umx\.wu\('(.*?)'\);", response_text, 1)

.如果真 (取数组成员数 (token_arr) > 0)
    返回 (token_arr [1])
.否则
    调试输出 ("没有UmidToken值,重试")
    ' 简单的延时后递归重试
    延时 (1000)
    返回 (getUmidToken ())
.如果真结束
.子程序 verify, 文本型
.参数 url, 文本型
.局部变量 response_text, 文本型
.局部变量 config_json, 文本型
.局部变量 post_data, 文本型
.局部变量 forward_response, 文本型
.局部变量 final_url, 文本型
.局部变量 x5sec, 文本型

' 1. 获取目标页面配置
response_text = 网页_访问 (url, 0, , , headers_UA)

' 提取 window._config_ 中的 JSON (简化处理,实际可能需要更复杂的正则)
config_json = 文本_取出中间文本 (response_text, "window._config_ = {", "};")

' 2. 构建 POST 数据 (JSON格式)
post_data = "{\"url\":\"" + url + "\",\"userAgent\":\"" + headers_UA + "\",\"umidtoken\":\"" + getUmidToken () + "\",\"key\":\"R118AW\",\"cookie\":\"\"}"

' 3. 发送转发请求
forward_response = 网页_访问 ("http://120.27.110.124:8803/forward", 1, post_data, "Content-Type: application/json" + #换行符 + "User-Agent: " + headers_UA, headers_UA)

调试输出 ("服务器接口响应 => " + forward_response)

' 4. 从响应中提取新的 Header 和 URL (此处需结合JSON解析模块,以下为伪代码演示)
' bx_et = json_取文本值(forward_response, "data.bx_et")
' bx_pp = json_取文本值(forward_response, "data.bx-pp")
' referer = json_取文本值(forward_response, "data.referer")
final_url = json_取文本值 (forward_response, "data.url")

' 5. 发起最终请求并获取 Cookie
' 注意:需要支持读取响应头的 HTTP 组件
网页_访问 (final_url, 0, , "bx-et: " + bx_et + #换行符 + "bx-pp: " + bx_pp + #换行符 + "Referer: " + referer, headers_UA)

' 假设通过某个命令获取了最终的 cookie
x5sec = 取指定Cookie ("x5sec")

.如果真 (x5sec ≠ "")
    调试输出 ("x5sec => " + x5sec)
    num = num + 1
.如果真结束

s = s + 1
调试输出 (“目前成功率 ” + 到文本 (num ÷ s × 100) + “ %, ” + 到文本 (num) + “/” + 到文本 (s))

返回 (x5sec)

回复

使用道具 举报

结帖率:33% (6/18)

签到天数: 3 天

地板
发表于 13 小时前 | 只看该作者   上海市上海市
.版本 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)
回复

使用道具 举报

结帖率:100% (42/42)

签到天数: 11 天

地下
发表于 12 小时前 | 只看该作者   四川省成都市
Jannock 发表于 2026-6-11 08:11
* “{"code":0,"dt":"success","ec":200,"result":{"code":0,"sig":"from bx"},"success":true}” | “x ...

牛逼 前面都AI
回复

使用道具 举报

结帖率:33% (1/3)

签到天数: 11 天

6
发表于 10 小时前 | 只看该作者   广东省中山市

一眼AI  跑的通才怪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表