Install
openclaw skills install @antarctic-penguin971/donguan-interactive-login动环综合网管(温湿度监控平台)交互式登录工具。自动识别图片验证码(RSA-OAEP-SHA256加密密码)并触发短信下发,用户仅需手动输入手机短信验证码即可完成登录,保存Cookie供脚本/定时任务复用。触发场景:登录动环系统、获取动环Cookie、动环网管2FA登录、刷新动环Session、动环登录验证码、dh login、动环综合网管登录。
openclaw skills install @antarctic-penguin971/donguan-interactive-login动环综合网管(温湿度监控平台)登录需要 三要素:用户名 + 密码(RSA加密)+ 图片验证码 + 手机短信验证码(2FA)。
本 skill 封装交互式登录流程:脚本自动识别图片验证码并 RSA 加密密码,主动调用 /login/sendPhoneCode 触发短信下发,用户只需查收手机、输入短信码即可完成登录,最后把 WEB_SESSION_ID_KEY Cookie 写入指定文件,供定时任务/监控脚本复用。
关键经验:登录接口
/login/go不会自动下发短信,必须先单独调用/login/sendPhoneCode(带图片验证码)触发短信,否则会一直返回"动态码失效"。这是本 skill 与"直接调 login/go"的本质区别。
curl:用于 HTTP 请求(脚本已 -k 忽略自签名证书)openssl:用于 RSA-OAEP-SHA256 加密密码ddddocr:用于图片验证码 OCR(自动识别算术题),需提前安装:
pip install ddddocr
python <skill_dir>/scripts/donguan_login.py \
--username 05310480 \
--password 'XZ$ua98E#dYO' \
--cookie-file dh_session_cookie.txt
执行后终端交互流程:
=== 动环系统交互式登录 ===
用户名: 05310480
验证码图片已保存: .../_captcha.png
[OCR识别] 算式: 5x0=9 答案: 0
(请确认图片中的算式答案,如有偏差请手动输入正确值)
请输入图片验证码算式答案: 0 <- 脚本已OCR,回车即可
[OK] 短信已发送!,请查收手机
请输入手机短信验证码(动态码): 361823 <- 用户查收手机输入
[成功] 登录成功! Cookie 已保存到: dh_session_cookie.txt
python <skill_dir>/scripts/donguan_login.py \
--base-url https://172.20.251.9:30666 \
--username 05310480 \
--password 'XZ$ua98E#dYO' \
--cookie-file /path/to/dh_session_cookie.txt
import sys
sys.path.insert(0, '<skill_dir>/scripts')
from donguan_login import interactive_login
cookie = interactive_login(
base='https://172.20.251.9:30666',
username='05310480',
password='XZ$ua98E#dYO',
cookie_file='dh_session_cookie.txt',
workdir='.', # 临时文件(_captcha.png/_login_cookies.txt等)目录
)
if cookie:
print('登录成功, Cookie=', cookie[:12], '...')
GET / 并保存会话 Cookie 到临时文件 _login_cookies.txtGET /login/getVerifyCode?sign=1 → 保存 _captcha.pngddddocr 解析算术题(如 5×0=?),输出答案供确认POST /login/getPublicKey → RSA-OAEP-SHA256 加密密码POST /login/sendPhoneCode(参数含用户名/密文/图片验证码)→ 返回"短信已发送!"input)POST /login/go(含短信码)→ code=200 成功WEB_SESSION_ID_KEY 写到 --cookie-fileacquire_session() 会优先读取该文件,实现定时任务全自动运行? 常误识为 9、× 误识为 x,脚本已做算术后处理,答案通常正确,但建议用户看 _captcha.png 图片二次确认curl -k 跳过校验,仅限内网可信环境使用