超星学习通自动签到原理及实现方法详解

时间:2024-12-02 20:18:34 来源:互联网 作者:佚名

超星学习通自动签到原理及实现方法是一项非常方便的功能,通过该方法可以实现自动签到,节省了学生在签到时的时间和精力。该功能的原理主要是利用程序模拟人工操作,实现自动点击签到按钮。为了实现自动签到功能,首先需要安装一个浏览器插件或者使用自动化测试工具,然后编写相应的脚本来模拟签到操作。这样就可以轻松实现超星学习通的自动签到功能,提高学习效率,让学生更加专注于学习内容。

近期在家无聊,又因为网课烦人,所以写了一系列网课相关的小工具,有兴趣的胖友可以多看看哦,这次先给大家带来超星学习通自动签到,再也不怕错过签到啦!超星学习通自动签到原理及实现方法详解

程序演示

这篇文章可以让你做出自己的自动签到小程序,我会尽力讲解详细的

如下图是完整的程序流程

打开抓包软件在登陆界面执行完整的登录流程即可获得所需的接口

创建二维码

https://passport2.chaoxing.com/createqr

获取扫描状态

https://passport2.chaoxing.com/getauthstatus

在签到过程中最基本的就是用户的Cookie,相当于用户的身份证,在最初写的python版本中,我直接将Cookie作为参数保存在代码中,缺点是Cookie需要自己抓包获取,比较麻烦。

为了方便使用,划分了一个登陆模块,可以使用账号和密码登录接口,也可以使用二维码登录,这里详细的说明一下二维码登录流程

生成uuid(通用唯一识别码),简单来说就是一串随机的字符串,网上有很多在线接口可以生成,也可以自己写程序实现createqr生成登录二维码按固定间隔访问状态API即可获取二维码状态信息,状态分为【未登录】【已扫描】【取消扫描】【验证通过】【已过期】,每种状态都有自己ID,所以很好判断,当状态为【验证通过】的时候,在API的返回Cookie即为用户登录成功的Cookie,保存下来在下次启动软件的时候读取Cookie,判断是否过期,若没有过期就进入主界面,否则重新登录

然后就是自动签到的流程了

这里用到的API是在APP下执行完整的签到流程获取的(因篇幅原因,参数都忽略)

获取课程列表

http://mooc-api.chaoxing.com/mycourse/backclazzdata

获取活动列表

https://mobilelearn.chaoxing.com/ppt/activeAPI/taskactivelist

签到

https://mobilelearn.chaoxing.com/pptSign/stuSignajax

【流程】

整体的流程简单的概括就是一个时钟,按一定频率获取课程下的活动列表,如果发现未签到的任务就执行签到

【信息模块】

在用户登录后,首先获取所有课程,由用户选定要监控的课程后,将课程的id传入到下一个模块,启动时钟开始获取活动列表,如果判断到typeid=2,状态id=1即为未签到活动,然后执行签到

【签到模块】

签到模块需要的参数有【activeId】【uid】,用户id在登录时可以获取,活动id在上面活动列表中间接获取,在活动列表中有一个key是活动的url,在url中即可看到【activeId】,分离出来即可作为参数

原理很简单,有兴趣大家也可以自己实现一下,如果大家想学习,我还是推荐看看python的代码,我会把用到的API和python代码打包发布,(python代码没有加登陆模块,有能力的的可以自己实现一下),以下是核心的代码

理解清楚上述原理以后,不管使用什么语言相信都可以制作出自己的自动签到工具!

自力更生!不怕网课 哈哈哈

如果只是想用一下成品,那也是欢迎的啦

在公众号回复【学习通】即可获取

精品推荐

资讯攻略

更多+

游戏排行