如何让刷课操作自动化
- 很多人刷课都是一直坐在电脑面前守候,但是对于学
软件工程
的人来说,这样未必有点low,小编今天给大家带来一些刷课思路,大家可以尝试下,具体的代码实现这里不能给出来,毕竟小编也是学生,抓到了怕是要被劝退,谅解。
方法一
- 1 首先我们先熟悉下从登录一直到课程能到之后的流程:
- 登录门户->进入选课界面->查看某一门课的选课人数,比如(100\100)->判断能不能选,能选的话填写验证码,然后没有时间冲突就能选,不能的话会提示不行->如果不能,大多数人选择的是苦苦等候…..
- 2 这些操作完全可以让程序自动化,可以给大家提供一份伪代码:
url="选课界面的url"
cookie = {
"username": "...",
"password": "..."
}
while True:
time.sleep(delay)
if into_url(cookie):
if has_no_empty():
continue
else:
if has_no_code():
exejs.execute('document.getElementByID("xuanke").click()')
else:
down_load_code_image()
tip_user()
wait_for_input_code()
code = input_code(image_path)
upload(code)
exejs.execute('document.getElementByID("xuanke").click()')
else:
set_user_agent()
第一种
是模拟用户行为进行访问,不算作弊,只要电脑不关,并且期间有人退课那你应该就是第一个能选上的,推荐大家使用第一种,小编也亲测成功。
方法二
- 这个可能需要一些密码学的知识,小编也不太懂,但是今天看公司某位大神操作了一遍,具体的思路是清楚了。
- 1 先自行登录门户网的选课界面,然后打开调试界面,chrome浏览器按F12就行,其他自行Google,查看选课按钮节点.
- 2 观察这个按钮和哪些js文件有关联,或者哪些js段的文件有通过该按钮发送请求。
- 3 假设我找到了一个
a.js
文件,里面有个关于这个按钮的点击事件的函数,那么我们就顺着这个按钮通过设置断点的形式一步一步的走下去分析,chrome设置断点调试大家可以看这里
- 4 找到加密函数和时间的随机数如何设置的,再用fiddler去抓包,不懂的看这里,找接口
- 5 上面的步骤都弄完了,基本上这个选课功能的流程都清楚了,至于执行什么样的操作,你懂的…
总结
- 大家可以尝试分析一下,技术可以有,事情还是不建议这样做,毕竟对其他人尤其是苦苦守候在电脑面前的人 不太公平,有问题可以跟我留言。