这是一个易校园自动打卡脚本,结合云服务器的定时任务功能,可以实现每天自动打卡。
- 通过 HTTPS 抓取易校园的打卡接口名称和数据,获取必要的参数(个人信息和登录凭证)。
- 使用 Python 脚本构造实体数据,发送 HTTP 请求。
- 集成邮箱的 SMTP 功能,发送邮件通知打卡结果。
- 利用服务器的 shell 脚本创建定时任务,实现每天自动打卡。
-
安装 Python 3.x
-
安装依赖包:
pip3 install requests yagmail
注意:yagmail 包可能需要使用 pip3 安装,详见相关 issues。
-
配置环境变量或创建
config.py
文件,包含以下信息:- 邮箱配置(SMTP 服务器,用户名,授权码)
- 易校园账号信息(用户 ID,学校代码等)
-
运行脚本:
python app.py
如果显示 detail 详情和打卡成功的回调,则表示配置正确。
注意:这部分需要进行 HTTPS 抓包,可以使用 Whistle 或 Charles,记得安装 CA 证书。
打卡过程包含两个主要步骤:
- 调用
getDetail
接口获取个人打卡信息 - 调用
doDetail
接口发送 POST 请求完成打卡
此接口返回个人信息,包括学校代码、姓名、手机号等。详细的数据格式请参考代码中的注释。
使用从 getDetail
获取的数据,构造请求体并发送到此接口完成打卡。
打卡成功的返回格式如下:
{
"statusCode": 0,
"message": "操作成功",
"data": {}
}
脚本使用 SMTP 协议发送打卡结果通知邮件。请在配置文件中正确设置邮箱信息。
使用云服务器的定时任务功能实现每日自动打卡。以下是宝塔面板的配置示例:
其他自动化方案请自行搜索相关资料。
- 请遵守学校规定,不要滥用本脚本。
- 定期检查脚本运行状况,确保打卡正常进行。
- 重要的个人信息请使用环境变量或配置文件存储,不要直接硬编码在脚本中。
- 如遇到问题,请检查网络连接、账号信息是否正确,并查看日志输出。