起因
看到有人将q群机器人和学校宿舍的电费余额相关联,本来我也想搞个自己学校的宿舍电费关联的,无奈垃圾学校的系统崩溃了,就尝试绑定学校的 教务系统
功能进度
拿到教务系统课表接口
对接口参数解析,获取,post模拟
使用js对接口进行psot,成功拿到课表json
使用js对接口返回的json解析
实现每次上课前5分钟判断是否有课,并发送消息提醒
加入课程会议号提醒功能,有会议号的课自动带上会议号
优化,开源
初始思路
研究了一下学校教务系统,给出思路如下
- 抓包登录,获取登录的接口,拿到tocken
- 用tokcen换取请求教务系统的cookie
- 抓包发现获取课表只需要一个参数,两个cookie。就可以拿到课表的json
- 通过获取到的json,解析拿到课表信息,在用node.js实现固定时间运行,提醒上课时间,还可以把老师的固定会议号发出来
- 还可以对下面接口进行抓包实现更多功能
实现
对登录抓包时就发现学校登录使用了加密
每次的表单的密码和lt都会变动,后面发现ck中有cas字段,说明加密方式是cas,那我技术还不够,cas加密就放弃了,so, 登录功能寄
因为登录有一个记住我,发现系统是将ck过期时间设置2099年,所有就是差不多永久ck,只要不登录,因为这个接口是今日校园的接口,一般不会登录,所以可以直接 使用cookie来代替账号密码 ,简单又安全。
后面就是写插件代码
进行post模拟,拿到固定参数
通过node-fetch成功模拟post拿到json(开始没加Content-Type一直报错,我以为是ck的问题,找了半小时的bug,把表头加上就一下就好了)
...未完待续
评论 (0)