"
# 基于室友发签到码的对分易自动签到
尽管该程序能帮你大多数忙,但是还是又几个缺点的
1:该程序可能回因为cookies生命周期而失效,故而我们需要定期修改cookies
2:studentid可能因为数据库更改而失效,故而我们也需要定期检查studentid
在某次早上不想去上早上因为不想去上早自习想睡觉的时候,又想睡觉,又又怕室友发签码过期。故而做出此小程序,在使用改小程序之前需要先改几个小程序内的参数:
1:cookies与studentid
在使用改程序之前,我们需要先设置一下cookies与studentid
cookies与studentid获取教程:
第一步:先进行网页版【对分易】()的登录:
第二步:随便进入一个班级,并点击考勤:
第四步:点击签到:
第三步:进入控制面板(chrom浏览器为f12):
第五步:点击Checkin.ashx包:
在这里你就可以从headers与payload找到你的studentid与cookies了
最后将该cookies与studentid复制粘贴进去就可以愉快的使用了
该程序需要的库:
powershell:
pip install wxauto time requests
如果没有的话,可以在这个网站下载:
程序代码:
?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182from wxauto import *import requestsimport reimport timeimport //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM1Njg0NA==.html
json wx = WeChat()has try = 【】list = 【】cookies = ""待更改""#将你的cookies复制在分号内部studentid = ""待更改""#将你的studentid复制在分号内部 def send request(str): payload = { 'action' : 'studentcheckin', 'studentid':'%s' % (studentid), 'checkincode': '%s' % (str_) } header = {""User-Agent"":""Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36"" ,""Connection"":""keep-alive"" ,""Cookie"" : ""%s"" % (cookies) ,""Origin"":"""" ,""Content-Type"":""application/x-www-form-urlencoded; charset=UTF-8"" } url = """" response = requests.post(url=url,data=payload,headers=header) response_list = response.json() print(response_list【'msgbox'】) if(response_list【'msg'】 == -4): time.sleep(5) has_try.pop() return 1 return 0 def get_default_windows_messages(): msgs = wx.GetAllMessage return msgs def tried(str msgs,str): for i in str msgs: if(str == i): return 0 has try.append(str) return 1 def auto_checkin(): wx.GetSessionList() msgs = get_default_windows messages() for msg in msgs: if(re.match(r'\d{4}',msg【1】)): list.append(msg【1】) times = len(list_) - 1 while(times >= 0): flag = 1 while(flag): if(tried(has try,list【times】)): flag = send request(list【times】) print(list_【times】) else: flag = 0 times -= 1 while(1): //代码效果参考: https://v.youku.com/v_show/id_XNjQwNjc5Nzk2OA==.html time.sleep(5) auto_checkin()"
![image.png](https://ucc.alicdn.com/pic/developer-ecology/hnrk7epeorhrk_95bb39b72a27407c9945e94c2030fc25.png?x-oss-process=image/resize,w_1400/format,webp)