文章价值
可以实现自动签到,包括网页端和手机端。跟着我的步骤来,不懂技术的小白也能轻松实现。
给大家看看CSDN的自动签到
实现思路
通过python调用签到的API,实现签到。
就是这么简单粗暴,我看好多文章都是用Selenium模拟浏览器实现,麻烦死了。
前戏准备
- 弄台云服务器
想要实现每天自动签到,云服务器是必需的。我目前用的腾讯云服务器,新用户1核2G一年才95购买链接,24小时不断电可以随便折腾,很赞。 - 安装python
Python是一种动态语言,调用API比较方便,其实别的语言也可以的。不会安装的,这有安装教程python安装。 - 安装gocorn
gocorn是使用Go语言开发的开源轻量级定时任务集中调度和管理系统,帮助我们定时执行签到任务。注意:使用云服务器,需要放开web端口。 - 安装Fiddler
Fiddler是Http调试抓包工具,用来抓取浏览器或手机的API请求。这有大佬的使用教程。
开始表演
- 抓取API
打开Fiddler,登陆进目标网站,比如CSDN。点击签到,抓取到该请求, 如下图所示:
- 编写脚本
先安装requests库,用于发送请求。
pip install requests
编写脚本,上传到云服务器(要以.py结尾)。
import requests
# 目标API地址 上图1标识
URL = "**/sign"
# 请求的cookie 上图2标识
cookies = dict(key='value', key2='value2')
# 如果cookie有很多键值对,可以如下方式赋值
cookies['key'] = 'value'
myreq = requests.session()
requests.utils.add_dict_to_cookiejar(myreq.cookies, cookies)
def submit():
# post传递的数据 上图3标识
data = {"key":"value"}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
jg = myreq.post(url=URL, data=data, headers=headers)
return jg.text
if __name__ == '__main__':
res = submit()
print(res)
- 添加定时任务
启动并登陆gocorn系统,新增任务节点。
添加定时任务
- 享受白嫖
到这里,自动签到就完成了,可以享受签(白)到(嫖)的乐趣了。手机APP自动签到,其实原理一样,都是通过Fiddler抓取到APP的请求,编写脚本来搞定。
总结
这种思路适用于用户登陆后,会长时间保存登陆状态,不需要实时登陆操作。同理只要不是很复杂的API都能白嫖(比如我就搞过图书馆自动抢票)。