今日校园每日自动提交疫情上报py脚本,支持邮件推送提交结果消息,支持几乎所有学校
- config.ini 配置文件
- index.py 配合腾讯云函数食用的py脚本
- submit.py 本地自动提交的py脚本
- A.py 测试模拟登陆API是否适用于xx学校的py脚本
白嫖党太多且几乎定时为同一时刻,导致高并发,使得提供模拟登陆API的服务器响应很不稳定,已采取封禁措施
封禁策略:未授权的账号只能使用一次模拟登陆API接口
解封联系QQ:461009747,捐赠(金额不限),收到的捐赠将会用于购买和续费或者购买更好的服务器
- clone 或者 下载 此仓库到本地
git clone https://github.com/ZimoLoveShuang/auto-submit.git
- 打开本地仓库文件夹,配置config.ini中对应的学号(username)和密码(password)还有地址(address)等等信息,详情请看config.ini中的注释说明,注意这里的学号和密码都是智慧校园的学号和密码
- 使用pip等 Python 包管理工具安装依赖库
- 利用python命令执行submit.py脚本
- 可配合Windows计划任务或者linux定时任务等使用,只需要简单的修改submit.py中的注释即可,如下
if __name__ == '__main__':
# main()
app.main_handler({}, {})
- clone 或者 下载 此仓库到本地
git clone https://github.com/ZimoLoveShuang/auto-submit.git
- 打开本地仓库文件夹,配置config.ini中对应的学号(username)和密码(password)还有地址(address)等等信息,详情请看config.ini中的注释说明,注意这里的学号和密码都是智慧校园的学号和密码
- 打开百度搜索腾讯云函数,注册认证后,新建云函数,名称随意,运行环境选择python3.6,创建方式选择空白函数
- 复制本地的index.py覆盖掉模板中含有的index.py
- 新建config.ini,将本地已经配置好的config.ini内容复制上去
- 点击完成之后去配置触发方式,选择定时触发,名称随意,触发周期选择自定义,配置cron表达式,下面的表达式表示每天中午十二点整执行
- enjoy it!
- 抓包,抓到
*.cpdaily.com
和登录地址
就可以了
- 配置config.ini
- 参考宜宾学院同学的两种方式使用
此脚本只为单用户设计,如果需要帮别人提交,最简单的方式是:配置多个任务
- 此项目默认配置适用于宜宾学院学子,其他学校,可以抓包后配置config.ini后食用
- 此项目依赖python3.8运行环境,如没有,自行安装
- 此项目依赖configparser requests json time等python库,如没有,自行安装
- 此项目依赖上一个爬虫项目宜宾学院教务系统成绩爬虫,开放的登陆api
- 此项目默认提交全部正常的情况,如果有其他情况,请自行在今日校园app上提交
- 模拟登陆
- 获取表单
- 填充表单
- 提交表单
- 推送消息
请看wisedu-unified-login-api
项目
- 学校接入金智系统的方式有两种:
CLOUD
和NOTCLOUD
CLOUD
方式对应的教务系统登陆页通常以/iap/login
结尾
NOTCLOUD
方式对应的教务系统登陆页通常以/authserver/login
结尾
- 目前以上两种接入方式,我提供的模拟登陆API都能支持
- 以上两种接入方式,登陆原理均为CAS,接口略有一点不同,但大同小异
- 关于Cpdaily-Extension:今日校园APP的处理是登陆时获取,每台设备唯一,但是有个空子就是,只要你不退出登陆,这个就会一直被维持,一直有效,换句话说,就是在APP上手动退出后失效,所以无需重复抓包获取
- 关于抓包:今日校园APP某些接口启动了ssl pinning机制,一般的方法无法抓包
- 提供一个参考的破解ssl pinning机制的方法:使用逍遥安卓4.4.4模拟器,配合xposed框架,使用justtrustme模块,hook掉验证证书的函数即可抓包
- 逆向apk亦可破解ssl pinning和sign算法,意外发现是今日校园v8.0.8及之前的版本没有加固
- 本项目仅供学习交流使用,如作他用所承受的任何直接、间接法律责任一概与作者无关(下载使用或参考项目即代表你同意此观点)
使用了此脚本或者参考了这个项目,请自觉给项目点个star
如果觉得写得不错,想支持一下,请帮忙在GitHub点个Star或者扫描下面二维码捐赠我