- config.ini 配置文件
- index.py 配合腾讯云函数食用的py脚本
- submit.py 本地自动提交的py脚本
- A.py 测试模拟登陆API是否适用于xx学校的py脚本
- clone 或者 下载 此仓库到本地
git clone https://github.com/ZimoLoveShuang/auto-submit.git
- 打开本地仓库文件夹,配置config.ini中对应的学号(username)和密码(password)还有地址(address)等等信息,详情请看config.ini中的注释说明,注意这里的学号和密码都是智慧校园的学号和密码
- 使用pip等 Python 包管理工具安装依赖库
pip install requests
- 利用python命令执行submit.py脚本
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表达式,下面的表达式表示每天中午十二点整执行
0 0 12 * * 0-6 *
- enjoy it!
- 抓包,抓到
*.cpdaily.com
和登录地址
就可以了 - 配置config.ini
- 参考宜宾学院同学的两种方式使用
- 此项目默认配置适用于宜宾学院学子,其他学校,可以抓包后配置config.ini后食用
- 此项目依赖python3.8运行环境,如没有,自行安装
- 此项目依赖configparser requests json time等python库,如没有,自行安装
- 此项目依赖上一个爬虫项目宜宾学院教务系统成绩爬虫,开放的登陆api
- 此项目默认提交全部正常的情况,如果有其他情况,请自行在今日校园app上提交
- 模拟登陆
- 获取表单
- 填充表单
- 提交表单
- 推送消息
- 学校接入金智系统的方式有两种:
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及之前的版本没有加固
- 本项目仅供学习交流使用,如作他用所承受的任何直接、间接法律责任一概与作者无关(下载使用或参考项目即代表你同意此观点)