安全微伴自动考试助手(2024)
本项目只针对考试,刷课助手GitHub有很多,自行选择使用
-推荐去这里 安全微伴自动刷课助手 https://github.com/Coaixy/weiban-tool
原理: 每个人题目不一样,但是考过一次就固定,每天题目不一样。通过历史作答获取答案即可一键满分。
- Python3: 命令行运行
python -V
,确认输出版本号为 3 开头 - requests:使用命令
pip install requests
安装
前往 https://weiban.mycourse.cn/#/login 登录账号
在浏览器按键盘 F12,进入开发者工具,选择上方选项卡的 应用 (Application) 选项,在左侧展开 本地储存空间 (Local storage),点击展开后的项目,再在页面中点击 user 查看它的值。如下图所示:
需要在其中获取信息:
- 将
tenantCode
填入安全微课答题助手.py
的tenantCode
中 - 将
userId
填入安全微课答题助手.py
的userId
中 - 将
token
填入安全微课答题助手.py
的x_token
中
这两个信息格式均为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
在网页中,启动一次考试,随便乱填后点击提交。
如果当日之前已经考过一次,可跳过该步骤,进入下一步骤。如果自己的考试次数已经不足,那就别做了。
保持浏览器开发者工具开启,点击进入考试记录界面,再点击一个在今日的考试记录,然后进入浏览器开发者工具界面。
在浏览器开发者工具界面,选择 网络 (Network) 选项卡,此时在左侧列表底部应该有两个 API 请求记录:listHistory.do 和 reviewPaper.do
首先点击 listHistory.do,再在右侧选择 荷载 (Payload) 选项卡,获取以下信息:
- 将
examPlanId
填入安全微课答题助手.py
的examPlanId
中
然后点击 reviewPaper.do,再在右侧选择 荷载 (Payload) 选项卡,获取以下信息:
- 将
userExamId
填入安全微课答题助手.py
的userExamId
中
流程截图如下:
保持浏览器开发者工具开启,点击参加考试,确认后进入考试界面。
在浏览器开发者工具界面,选择 网络 (Network) 选项卡,此时在左侧列表底部应该有一个 API 请求记录:startPaper.do
点击 startPaper.do,再在右侧选择 荷载 (Payload) 选项卡,获取以下信息:
- 将
userExamPlanId
填入安全微课答题助手.py
的userExamPlanId
中
此时所有信息应当已经获取完毕,请确认 安全微课答题助手.py
的字段已经填写完全。
另外确认脚本中 final_run = False
.
运行该程序:python .\安全微课答题助手.py
确认答案获取比例为 50/50 即 100% 再进行下一步。若此时不是 100%,不要正式运行,检查前面操作是否正确。
将 安全微课答题助手.py
中的 final_run
改为 True
,再运行一遍程序,此次程序将会正式运行并提交。
分数为最后一行的 score,正常情况下应该是 100 满分。
#1. 登录模块,用户输入学校名称、学号、密码即可直接进行后续操作,无需F12。
#2. 解决第1次作答人工乱填耗费时间的问题,定义一个初始题库,运行相关代码完成第一次考试。
- 题库不变机制约束条件:连续两次作答间隔时间不能过长,否则不满足题库不变情况。 2024.4.29
- 已完成考试记录网站逻辑修改,不再显示问题和答案ID,提交时需要根据content进行匹配 2024.8.22
- 新增questions.json,已覆盖WHUT理工科、文科研究生线上报到题库 2024.8.22