在此之前,在他人的博客中看到一篇文章新理念外语网络教学平台——获取任意答案,但是写得不是很详细,下面我来详细的说明一下.
原理
首先进入自己学校的平台.打开开发者工具–network,然后登陆
可以看到headers和data.并且data中的tbName和tbPwd都没有加密.这是之后我们需要post的 包括上面两个_
答案从哪来
如果你此前做过测试并且获得过60分以上的成绩,就可以查看那个习题答案.
我们打开开发者工具– network.然后查看答案.
我们发现
答案是通过viewTestTask.apsx获取的.其中data中三个数字就代表返回给viewTestTask.aspx来获取测试的答案.
那么我们就需要 获取这三个数字.
如何获取三个关键数字
首先我们需要进入本周测试的网页.
然后打开开发者工具–network
抓取
通过viewTestTask.aspx传入header和data进行抓取.
由于先人的代码会造成
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 32-37: ordinal not in range(256)
错误,我进行了二次修正.仅供参考.适合版本[新理念英语v6.2]
需要修改的地方已经标注. python版本3.7
1 | import random |
后续
答案是从viewTestTask.aspx传参获取的.并不需要登陆,于是就可以简化成如下代码.
1 | import random |