安徽省继续教育平台----刷课分析


前面的废话

像老师这样的职业,每年都有这个玩意,去年用php实现了刷课,今年又用golang实现了一遍(也是无聊),顺便再水一篇文章吧。
其实安徽省里的继续教育有两个平台,一个是https://www.ahsjxjy.com ,另一个是类似http://hefei.fjlearning.com/ 这样的二级域名,二级域名为区县拼音。
这两个平台似乎不是一家公司,但是两者学习的课程内容确是一模一样(竞争么(草))……本文实现的是后一个系统的刷课系统。。
不得不吐槽的是,后一个系统使用的还是FLASH播放,chrome不知道为何给予了flash权限后还是没法播放,只能换回万能的IE……而且这系统的前端代码也是槽点多多=-=

系统分析

分析是去年的事情了,代码用Go写完也是几个月前的事了(但是现在想水文章),就直接对着代码写思路吧。。。

登录

1.首先访问这个二级域名主界面,接受网站自动生成的Cookie,保存下来
2.GET请求到GetValidateCode,获取验证码
3.这里的验证码可以被tesseract快速识别。。
4.POST请求到DoLogin,进行登录,判断返回的json是否登录成功

选课

1.在Home下通过正则筛选出所有的课程列表,比如今年的是:网络效应
2.若要切 POST请求到DoChangeTraining即可切课

刷课

1.MyCourse/Index下通过正则匹配已经学完的和正在学的,拿到课程id、视频id和视频url
2.有了视频id后,每25秒post请求到视频url,便可实现刷课(25秒是此系统限制,post小于25秒会被判断无效)
3.Session会过期,记得时不时POST请求到ReloadSession给当前Cookie续命

后记

1.好像这个系统的二级域名都能用,包括阜阳、亳州、合肥等等区县
2.只在阜阳市专业技术人员继续教育培训平台上测试过,其他应该也一样(毕竟只是换了个壳)
3.效果如下图:
效果图1
效果图2
1566628616(1).png

4.似乎也没几个任有需求的,我就自娱自乐下吧。。。

声明:Asteroid B612|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 安徽省继续教育平台----刷课分析


薄桃色の花びら