抓包实现易校园每日自动打卡
2022-10-07 更新:大概两三个月前易校园改了接口,更简单了,我们只需抓包
https://h5.xiaofubao.com/marketing/health/doDetail
接口即可,脚本如下:
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 # POST https://h5.xiaofubao.com/marketing/health/doDetail HTTP/1.1",
h = {
# your headers.
}
d = {
# These are your POST data.
# ...
# Delete time & date infomation.
# "createTime": "",
# "createDate": "",
# "updateTime": "",
# ...
}
import requests
from pprint import pformat
requests.packages.urllib3.disable_warnings()
import yagmail
def eMail(email_to, email_title, email_content):
# 邮件用户
mail_user = 'your-email'
# 授权码
mail_key = 'your-email-key'
# smtp服务器
mail_host = 'your-email-smtp-server'
try:
mail_server = yagmail.SMTP(
user=mail_user, password=mail_key, host=mail_host)
mail_server.send(email_to, email_title,
email_content, attachments=None)
mail_server.close()
return True
except Exception as e:
print(e)
return False
response = requests.post("https://h5.xiaofubao.com/marketing/health/doDetail", headers=h, data=d, verify=False)
pdata = pformat(response.json(), indent=4)
print(pdata)
title = ''
if response.json()['success'] == True:
title ='打卡成功'
else:
title = '打卡失败'
eMail('your-email', title, pdata)
每天自动打卡,有点烦了,搜索一番,加上解决了一些问题,现拿出此成熟方案。
安装fiddler4
以前高中用fiddler4,现在新版本不知道为啥变得不会用了,貌似还要交钱了,所以不太推荐。推荐下载老版本fiddler4。请自行搜索,此处不提供下载。
设置fiddler并配置证书
易校园采用https通信,因此需要配置证书。这里先进行软件的设置。安装软件后打开设置:
打开这三个选项:
然后按图中设置,开启代理:
然后电脑开热点,手机连上。查看电脑ip,鼠标放在软件右上角或者terminal中输入ipconfig命令查看:
然后手机进入wifi设置,设置手动代理,ip为电脑ip,端口为8888。再打开浏览器,访问电脑ip:8888(前面设置的代理ip)
点击下面链接下载根ca证书
下载完后进入设置—>安装CA证书,找到下载的.cer证书文件安装。
然后手机先打开易校园主界面。回到fiddler,先清除所有会话:
然后点击健康打卡,将选项都填好,位置加载好后,点击打卡,出现打卡成功页面。
回到fiddler,进入设置取消前面的三个勾。
然后我们先保存所有会话:
然后找到这个会话,查看WebForms和JSON出现如下信息:
然后复制所有JSON:
修改以下脚本:
1 | import requests |
如果提示没有yagmail库,请自行pip install yagmail安装。
然后可以给你的服务器添加一个定时任务,每天凌晨自动运行此脚本。
成功示例: