近期在家無聊,超星超星又因為網課煩人,課堂課堂所以寫了一系列網課相關的電腦小工具,有興趣的版下胖友可以多看看哦,這次先給大家帶來超星學習通自動簽到,載電再也不怕錯過簽到啦!腦版程序演示這篇文章可以讓你做
近期在家無聊,何簽又因為網課煩人,超星超星所以寫了一系列網課相關的課堂課堂小工具,有興趣的電腦胖友可以多看看哦,這次先給大家帶來超星學習通自動簽到,版下再也不怕錯過簽到啦!載電
程序演示
這篇文章可以讓你做出自己的腦版自動簽到小程序,我會盡力講解詳細的何簽
如下圖是完整的程序流程
打開抓包軟件在登陸界面執行完整的登錄流程即可獲得所需的接口
創建二維碼
https://passport2.chaoxing.com/createqr
獲取掃描狀態
https://passport2.chaoxing.com/getauthstatus
在簽到過程中最基本的就是用戶的Cookie,相當于用戶的超星超星身份證,在最初寫的python版本中,我直接將Cookie作為參數保存在代碼中,缺點是Cookie需要自己抓包獲取,比較麻煩。
為了方便使用,劃分了一個登陸模塊,可以使用賬號和密碼登錄接口,也可以使用二維碼登錄,這里詳細的說明一下二維碼登錄流程
然后就是自動簽到的流程了
這里用到的API是在APP下執行完整的簽到流程獲取的(因篇幅原因,參數都忽略)
獲取課程列表
http://mooc-api.chaoxing.com/mycourse/backclazzdata
獲取活動列表
燉牛肉時,把泡開的茶根裝入紗布袋,放在水中與牛肉共燉,牛肉很快便會燉爛,且風味獨特、鮮美。
https://mobilelearn.chaoxing.com/ppt/activeAPI/taskactivelist
簽到
https://mobilelearn.chaoxing.com/pptSign/stuSignajax
【流程】
整體的流程簡單的概括就是一個時鐘,按一定頻率獲取課程下的活動列表,如果發現未簽到的任務就執行簽到
【信息模塊】
冷凍食品解凍法1:肉類:適宜在室溫下自然解凍,在水中解凍會使營養流失;家禽:宜在水中解凍,但未去內臟的最好在室溫下自然解凍。
在用戶登錄后,首先獲取所有課程,由用戶選定要監控的課程后,將課程的id傳入到下一個模塊,啟動時鐘開始獲取活動列表,如果判斷到typeid=2,狀態id=1即為未簽到活動,然后執行簽到
【簽到模塊】
簽到模塊需要的參數有【activeId】【uid】,用戶id在登錄時可以獲取,活動id在上面活動列表中間接獲取,在活動列表中有一個key是活動的url,在url中即可看到【activeId】,分離出來即可作為參數
原理很簡單,有興趣大家也可以自己實現一下,如果大家想學習,我還是推薦看看python的代碼,我會把用到的API和python代碼打包發布,(python代碼沒有加登陸模塊,有能力的的可以自己實現一下),以下是核心的代碼
deftaskactivelist(courseId,classId):globalactiveList url="https://mobilelearn.chaoxing.com/ppt/activeAPI/taskactivelist?courseId="+str(courseId)+"&classId="+str(classId)+"&uid="+uid res=requests.get(url,headers=headers) data=json.loads(res.text) activeList=data[activeList]print(activeList)foriteminactiveList:if("nameTwo"notinitem):continueif(item[activeType]==2anditem[status]==1): signurl=item[url] aid = getvar(signurl)if(aidnotinactivates): print("【簽到】查詢到待簽到活動 活動名稱:%s 活動狀態:%s 活動時間:%s aid:%s"%(item[nameOne],item[nameTwo],item[nameFour],aid)) sign(aid,uid)defsign(aid,uid):globalstatus,activates url="https://mobilelearn.chaoxing.com/pptSign/stuSignajax?activeId="+aid+"&uid="+uid+"&clientip=&latitude=-1&longitude=-1&appType=15&fid=0"res=requests.get(url,headers=headers)if(res.text=="success"): print("用戶:"+uid+" 簽到成功!") activates.append(aid) status=2else: print("簽到失敗") activates.append(aid)
理解清楚上述原理以后,不管使用什么語言相信都可以制作出自己的自動簽到工具!
自力更生!不怕網課 哈哈哈
如果只是想用一下成品,那也是歡迎的啦
在公眾號回復【學習通】即可獲取
眼睛進了小灰塵:眼睛進了小灰塵,閉上眼用力咳嗽幾次,眼睛里的灰塵就會自己出來了。
免責聲明:本站所有信息均搜集自互聯網,并不代表本站觀點,本站不對其真實合法性負責。如有信息侵犯了您的權益,請告知,本站將立刻處理。聯系QQ:1640731186