mirror of
https://github.com/yule153604/zglt_script.git
synced 2026-11-05 23:16:43 +08:00
3835987dc2d79b05064893b4c9f1dd26e78bfbba
- 新增 MarketRaffleState 全局奖池状态类,多账号共享查询结果 - 奖池查询改为抽奖完成后执行,仅作为信息展示 - 有效奖品判断:包含月卡/周卡/季卡,排除5G宽视界/沃视频,概率>0 - 新增 market_validate_captcha 人机验证自动处理 - 修复浇花任务逻辑:从只浇一次改为持续浇花直到完成目标次数 - 更新 README 文档
中国联通自动化脚本
这是一个专为中国联通APP设计的高效自动化脚本,采用Python编写,旨在帮助用户自动完成日常签到、领现金、权益超市及各类专区活动。脚本基于异步IO架构,支持多账号并发运行,具有高度的稳定性和可扩展性。
🛠️ 代码结构详解
中国联通.py
├── 📂 MarketRaffleState (全局奖池状态类)
│ ├── __init__ .................... 初始化奖池状态/锁
│ └── check_prizes ................ 查询奖池(全局单次,多账号共享)
│
├── 📂 Logger (日志管理类)
│ ├── __init__ .................... 初始化日志前缀
│ └── log ......................... 输出带时间戳的日志
│
├── 📂 HttpClient (网络请求类)
│ ├── __init__ .................... 初始化 Session/Headers
│ └── request ..................... 发送 HTTP 请求(含重试/Cookie管理)
│
├── 📂 CustomUserService (核心业务类)
│ │
│ ├── 🔧 基础功能
│ ├── __init__ .................... 初始化账号信息
│ ├── online ...................... APP 模拟登录(获取 Token/归属地)
│ ├── open_plat_line_new .......... 获取业务 Ticket
│ ├── get_bizchannelinfo .......... 生成业务渠道 Header
│ └── get_epay_authinfo ........... 生成支付认证 Header
│ │
│ ├── 📝 日常签到 (Sign)
│ ├── sign_task ................... 签到任务入口
│ ├── sign_get_continuous ......... 获取签到状态
│ └── sign_day_sign ............... 执行签到
│ │
│ ├── 💰 天天领现金 (TTLXJ)
│ ├── ttlxj_task .................. 领现金任务入口
│ ├── ttlxj_authorize ............. 业务授权
│ ├── ttlxj_login ................. 业务登录
│ ├── ttlxj_unify_draw_new ........ 执行打卡/抽奖
│ └── ttlxj_query_available ....... 查询余额
│ │
│ ├── 🎁 联通祝福 (Wocare)
│ ├── ltzf_task ................... 祝福任务入口
│ ├── wocare_get_token ............ 获取 Token
│ ├── wocare_api .................. 通用 API 请求(含解密)
│ ├── wocare_get_draw_task ........ 获取任务列表
│ ├── wocare_complete_task ........ 完成任务
│ └── wocare_luck_draw ............ 执行抽奖
│ │
│ ├── 🛒 权益超市 (Market)
│ ├── market_task ................. 超市任务入口
│ ├── market_login ................ 超市登录
│ ├── market_watering_task ........ 浇花任务(支持多次浇花直到完成)
│ ├── market_watering ............. 执行浇花
│ ├── market_raffle_task .......... 抽奖任务(抽奖后展示奖池信息)
│ ├── market_validate_captcha ..... 人机验证处理
│ └── market_raffle ............... 执行抽奖
│ │
│ ├── 🍇 新疆专区 (Xinjiang)
│ ├── xj_task ..................... 新疆任务入口(含归属地校验)
│ ├── xj_do_draw .................. 执行活动抽奖
│ ├── xj_usersday_task ............ 会员日任务入口
│ └── xj_usersday_draw ............ 会员日抽奖
│ │
│ ├── 🏙️ 商都福利 (ShangDu - 河南)
│ ├── shangdu_task ................ 商都任务入口(含归属地校验)
│ ├── shangdu_get_ticket .......... 获取 Ticket
│ ├── shangdu_login ............... 激活 Ticket
│ └── shangdu_signin .............. 执行签到
│ │
│ └── 🎲 其他功能
│ └── nine_grid_draw .......... 积分九宫格抽奖
│
└── 🚀 main (主程序入口) ............ 并发调度所有账号任务
✨ 功能特性
权益超市增强功能
- 每日自动抽奖: 无条件执行抽奖,不受奖池状态影响
- 奖池信息展示: 抽奖完成后展示今日奖池信息(概率>0的奖品)
- 有效奖品识别: 自动标记有效奖品(包含月卡/周卡/季卡,排除5G宽视界/沃视频)
- 人机验证处理: 抽奖触发人机验证时自动处理并继续抽奖
- 浇花任务修复: 支持多次浇花直到完成目标次数(如60次)
- 全局奖池查询: 多账号只查询一次奖池,共享结果,节省资源
3. 配置账号
脚本通过环境变量 chinaUnicomCookie 获取用户登录信息。支持多账号,多个Cookie之间请使用 @ 符号分隔。
获取 Cookie
- 使用抓包工具(如Stream、Fiddler)抓取中国联通APP的请求。
- 找到包含
token_online、appId等关键信息的请求头或Cookie字符串。 - 复制完整的Cookie内容。
设置环境变量
Windows (PowerShell):
$env:chinaUnicomCookie = "Cookie1@Cookie2"
Linux / macOS:
export chinaUnicomCookie="Cookie1@Cookie2"
4. 运行脚本
在终端中切换到脚本所在目录,运行:
python 中国联通.py
5. 查看运行结果
脚本运行后,将在控制台输出详细的执行日志。
- 登录状态: 显示登录成功/失败及脱敏后的手机号(如
138****5678)。 - 任务进度: 实时显示各个任务的执行情况(如"签到成功"、"获得0.87元立减金")。
- 奖池状态: 抽奖完成后展示今日奖池信息及有效奖品。
- 抽奖结果: 显示具体的奖品名称(如"5元话费券"、"未中奖")。
奖池查询输出示例
============================================================
权益超市奖品池查询
============================================================
今日奖池共 16 个奖品:
✅ [01] 爱奇艺VIP月卡
今日投放: 100 | 总库存: 5000 | 概率: 5.00%
❌ [02] 5G宽视界黄金会员月卡
今日投放: 50 | 总库存: 3000 | 概率: 3.00%
❌ [03] 茶百道6元免配券
今日投放: 5000 | 总库存: 0 | 概率: 15.00%
...
============================================================
结论: 当前已放水!有效奖品 3/16 个,可以抽奖
============================================================
注意事项
- HTTP/2: 为保证稳定性,脚本默认关闭了HTTP/2支持。
- 异常处理: 脚本内置了完善的异常捕获机制,单个任务的失败不会影响其他任务或账号的执行。
- 隐私安全: 所有敏感信息(如手机号)在日志输出时均会自动脱敏,保障用户隐私。
- 奖池共享: 权益超市奖池查询只执行一次,所有账号共享结果,避免重复请求。
❓ 常见问题与故障排除
1. 登录失败处理
如果遇到登录失败的情况,请尝试以下步骤:
- 使用抓包工具获取本机实际的
device_id和device_code。 - 打开
中国联通.py文件,找到online函数(约第 220 行)。 - 将代码中的
device_id和device_code替换为抓包获取的实际值,保持一致。
2. 环境变量设置补充
- 在中国联通APP内抓取
https://m.client.10010.com/mobileService/onLine.htm请求。 - 提取请求体或Header中的
token_online值。 - 将该值设置为环境变量
chinaUnicomCookie。
3. 权益超市相关
- 浇花状态异常: 已修复只浇花一次的问题,现在会持续浇花直到完成目标次数。
- 奖池信息: 抽奖完成后展示今日奖池,仅作为参考信息,不影响抽奖流程。
- 人机验证: 触发人机验证时会自动处理,无需手动干预。
⚠️ 免责声明
- 仅供学习交流:本项目仅供编程学习和技术交流使用,请勿用于任何商业用途。
- 合法使用:请勿将本脚本用于任何非法目的,包括但不限于恶意攻击、刷单等行为。
- 风险自担:使用本脚本产生的任何后果(包括但不限于账号封禁、财产损失等)由使用者自行承担,开发者不承担任何责任。
- 隐私保护:本项目不会收集用户的任何敏感信息,所有数据均保存在用户本地。
- 侵权联系:如果本项目侵犯了您的权益,请及时联系开发者进行处理。
Languages
Python
100%