说明
前段时间研究了下超星和智慧树的登录协议,并尝试写了一个自动登录并获取课程的程序。
包含了超星的验证码识别 ,准确率达到98%
超星登录分析:
需要参数:学校 密码 验证码
首先抓了一下他的学校选择接口如下
[Asm] 纯文本查看 复制代码 https://passport2.chaoxing.com/org/searchUnis?filter=学校&product=44 返回一个带schoolid的json数据
然后我们需要获取一下需要识别的验证码,并识别出验证码(本地识别库已打包)验证码接口GET:https://passport2.chaoxing.com/num/code
最后分析登录接口:POST[Asm] 纯文本查看 复制代码 https://passport2.chaoxing.com/unitlogin
PSOT参数
'fid': 学校id
'numcode': 验证码
'password': 密码
'uname': 学号
登录成功后直接去课程页面获取课程即可GEThttp://mooc1-2.chaoxing.com/visit/courses
智慧树分析同样是学校 学号 密码(居然没有验证码?!)
按照上面的思路,先获取学校,抓包找一下学校最后很神奇的发现智慧树把所有学校都放在了一起
由于智慧树并不需要验证码所以我们直接抓登录的登录接口:POST[Asm] 纯文本查看 复制代码 https://passport.zhihuishu.com/user/validateCodeAndPassword
'code':学号
'password':密码
'schoolId':学校
此接口获取的是加密后的密码 GET然后登录https://passport.zhihuishu.com/login?pwd=' + 加密后的密码+"&service=https://onlineservice.zhihuishu.com/login/gologin登录成功后访问此网址获取uuid GEThttps://onlineservice.zhihuishu.com/login/getLoginUserInfo最后通过uuid获取课程https://onlineservice.zhihuishu.com/student/getStudentNoCommitExam?uuid="+uuid然后可以看到课程已经出现了,,,,
PS:由于之前抓的接口,也懒得贴具体返回信息了,大家可以自己去研究下源码
源码+识别库打包↓链接:https://pan.baidu.com/s/1v7wE3MLcC3q1mDJw8MZkqg
提取码:fklu
复制这段内容后打开百度网盘手机App,操作更方便哦
|