关于雨云自动签到脚本失灵的解决方法
发表于更新于
字数总计:1.2k阅读时长:4分钟阅读量: 扬州
事件简述
近日,雨云开始签到需进行人机验证,使得网络上绝大部分Python脚本失灵,但好消息,博主找到了一个自动签到机器人(电报(Telegram)机器人,劝退无法科学上网和无法注册电报的小伙伴了,但这已经是博主目前找到的唯一可行方案了),可以帮助小伙伴们重新解放双手,自动签到!
解决方法
雨云自动签到机器人:
Telegram: Contact @fuckrainyun
机器人使用方法:
总览 | Rainyun Account Bot Docs
对话框发送指令:/crontab create checkin 你的雨云API-Key
即可完成绑定
支持绑定多号,绑定完成就可以实现自动签到啦~
详细介绍
雨云自动签到机器人是指一种通过电报(Telegram)平台运行的自动化工具,帮助用户实现雨云网站的自动签到功能。这种机器人可以解决由于人机验证导致的传统脚本失效的问题。
- 机器人功能:
- 自动执行签到任务:用户无需手动操作,机器人会定时或按设定的时间节点自动登录雨云账户并完成签到。
- 多账号支持:用户可以通过同一个机器人绑定多个雨云账户,实现批量管理不同账户的签到需求。
- 使用方法:
- 绑定账户:用户需要发送特定指令(如 /crontab create checkin 你的雨云API-Key)给机器人,以将机器人的服务与自己的雨云账户关联起来。
- 确认绑定:一旦绑定成功,机器人就会按照预设的时间周期自动执行签到动作,并为每个账户单独记录和执行签到任务。
- 技术背景:
- 人机验证机制:近期,雨云网站增加了人机验证步骤,使得传统的Python脚本难以直接模拟用户的登录和签到行为。
- 电报机器人优势:电报机器人能够通过Telegram平台提供的API接口,与雨云服务器进行交互,从而绕过人机验证的限制,实现自动化签到。
- 用户群体:
- 面向无法科学上网或无法注册电报的用户:尽管存在一些技术障碍,但博主认为这是目前唯一可行的解决方案。
- 对于能够正常使用电报的用户来说,这是一个高效且便捷的选择,能够显著减少手动操作的时间和精力消耗。
脚本解决方法“众筹”
为了让更多小伙伴可以自动签到,还希望有精通Python的大佬更新一下代码,以下提供一下博主之前使用的Python自动签到脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| import requests import json import time
api_keys = [ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ] url = "https://api.v2.rainyun.com/user/reward/tasks"
print("Rainyun-AutoSignin-V2 script, by CodeZhangBorui\n[Time] ", end='') print(time.ctime())
for key in api_keys: print("# 用 X-API-KEY 登录: " + key[:10] + "*"*22) headers = { 'x-api-key': key, 'User-Agent': 'Rainyun-AutoSignin/2.0 (https://codezhangborui.eu.org/2023/06/rainyun-auto-python-scripts/)' } response = requests.request("GET", url, headers=headers, data={}) result = json.loads(response.text) print("# 获取可领取任务列表") undone = [] for task in result['data']: if(task['Status'] == 0): print("## - 未完成:" + task['Name']) elif(task['Status'] == 1): print("## > 可领取:" + task['Name'] + " | 可获得积分:" + str(task['Points'])) undone.append(task['Name']) elif(task['Status'] == 2): print("## V 已领取:" + task['Name']) else: print("## ? 未知状态:" + task['Name'] + " | 服务器 DATA:" + str(task)) if(undone == []): print("# 没有可领取任务!") else: for task in undone: try: print("## 请求完成任务:" + task, end='') response = requests.request("POST", url, headers=headers, json={"task_name": task}) result = json.loads(response.text) print(" | 服务器 DATA:" + str(result)) except: print(":( Something went wrong, retry in 10 seconds...") time.sleep(10) try: print("## 请求完成任务:" + task, end='') response = requests.request("POST", url, headers=headers, json={"task_name": task}) result = json.loads(response.text) print(" | 服务器 DATA:" + str(result)) except: print(":( Something went wrong, retry in 30 seconds...") time.sleep(30) try: print("## 请求完成任务:" + task, end='') response = requests.request("POST", url, headers=headers, json={"task_name": task}) result = json.loads(response.text) print(" | 服务器 DATA:" + str(result)) except: print(":( Something went wrong, skip this task") continue print("") print("# 程序已结束!") time.sleep(10)
|
如有新脚本出现,博主也会第一时间更新文章!