自动提取创高体育理论考试答案并实时显示
学校一直使用创高体育做体育考核, 又到了学期末, 开始了模拟的时间. 做了一套模拟题, 查看答案后, 发现答案不能复制, 于是想探究一下题从服务器传输的原理.
本文使用的主要工具有: fiddler(抓包工具), python, BeautifulSoup4库. 关于工具安装方式, 大家可自行百度.
如果只想使用工具, 可以略过原理部分. 本文主要是原理分析, 不涉及模拟发包等内容. 如有问题, 后果自负.
本方法需要手机和电脑在同一wifi下, (nku_wlan之类的是不行的,它内部阻断了设备间通信)在安卓手机测试通过, 理论上苹果手机同样可行.
设置fiddler
fiddler是强大的抓包工具. 能够获取局域网下的不同设备的数据包. 可前往官网自行下载安装.
安装后需设置防火墙为放开状态, 关闭运行的杀毒软件或电脑管家.(有的电脑管家会拦截手机发送的数据包)
打开fiddler允许抓手机包的选项打开fiddler, 点击Tools -> Options.
进入Connections选项卡, 设置端口, 并允许外部设备的接入.
最后, 记着重启一下fiddler, 使设置生效.
手机设置代理在确定手机和电脑在同一wifi下后, 查看电脑的ip地址. 这里我们使用cmd的ipconfig命令查看.
同时按键盘的windows和R键, 输入cmd, 进入命令提示符, 输入ipconfig, 记录下此地址.
打开电脑浏览器, 输入刚刚记录下的ip地址(这里我们假设是192.168.31.2) + 端口号, => 192.168.31.2:8888
看到此页面即设置成功.
打开手机 设置 -> WLAN, 点击已连接wifi, 点击高级设置(手机品牌不同具体进入方式不同, 常见方式有直接点击, 长按, 或提供一个感叹号的小按键).
在高级设置中, 将ip设置改为静态. ip地址之类的都别动. 代理服务器设置为手动, 代理主机名为刚刚记录的ip, 端口为8888. 点击保存.
如果设置正确, 目前我们应该已经能从fiddler中查看手机发送到数据包了. 由于我们没有开启https代理, 所以我们可以在手机浏览器打开学校官网之类的页面, 查看fiddler中是否出现了请求, 如果出现了, 则成功.
原理其实这一部分原理很简单, 就是手机发送的所有http请求都会通过fiddler发送.
自动截取创高请求
这一部分我们通过fiddler中的脚本来实现.
我们需要截取答题时题目的请求和最后答案的请求.
观察发现, 答案的页面URL中都包含dajuan_chakan, 而答题时, 每个页面的URL都包含cmd=dati,于是我们就可以用这两做关键字.
点击Customer Rules.
将内容全部替换为我所使用提供的fiddler_rule.txt文件中的内容即可.
在D盘新建文件夹, 命名为pe_answer
将我提供的文件的全部内容解压到这个文件夹
使用Python解释器运行main.py.
目前我们的全部监听已经开始了.
res.txt是我们存储答案的文件, 目前我提供的文件提供了大部分网球和排球的答案. 大家如果不是这两类课, 也没关系, 在今天模拟还运行时, 多做几套题, 做完点击手机里的查看答案, 答案会自动同步在res.txt中(一定要点击查看答案才行!!!)
在同步后, 如果做题时, 有答案是None的题, 就在多模拟几次, 保证答案的数量足够.
在答案数量足够时, 做题时答案会实时显示在电脑中, 效果如下:
资料:
链接:https://pan.baidu.com/s/1ioddY0_SaHa5nxekXxhadQ 提取码:ng5i
博彩论坛排名