Advertisement

北京理工大学抢课教程

阅读量:

在北理工选过课的同学都知道,选课分为很多轮次,前两轮是靠概率筛选,后几轮全部都是靠先到先得。那么这就引发了一个不好的现象,有的同学让其他同学帮他选课,然后等到第三轮的时候再将选到的课退给他。这就相当于在第一轮的时候别人是几个人选一门课,而有的人是一个人选一门课。变成了一个不公平的选课机制。

为了维护世界的正义与和平(处在不公平中的有利位置),我写了抢课的程序,原理很简单,就是不断的告诉服务器我要这门课,因为我的时间间隔设置为了0.5s,所以基本上是在第三轮以后有人退课我便可以将其选(抢)过来。也算是一种截胡吧。

当然了,我这个方法因为是没有检查是否有人退课,而是不断告诉服务器我要这门课,所以仅仅能指定某几门课来选,不过这样其实也就足够了,想上的课也就那么几门。

不过,将抢课程序和详细方法都发出来的话,我没准就被学校请去喝茶了,所以只能写得特别笼统而且简单,需要一定的软件知识和编程知识才能自行实现。

环境要求:

JAVA1.7以上,Python2.x

程序要求:

burpsuite_pro

抢课步骤:

1.打开burpsuite_pro

2.打开教务处,到达选课页面

3.利用burpsuite_pro,将选某一门课的请求包给抓下来。(方法自行百度)

4.利用python2.x的urllib和urllib2的库来发送包,发送的包的url,headers,data和抓下来的设置成一样即可(方法自行百度)

5.程序中加一个while 1循环使其不断运行,然后打开运行

6.等待,实测村里大概得抢6~7个小时,乡里一般2个小时以内就可以抢到。(原因自行分析)

备注:

注意抢下来的包的编码问题。

教程到此结束,其实在我的内心里还是希望这个程序传出去的,可是这样对学校服务器的冲击就太大了,不过没准也可以促进学校更新教务管理系统。学校已经在这么做了,希望下学期能够有更公平的选课系统和选课机制的出现。毕竟没有人喜欢不公平,尤其是处在不公平中不利位置的人。

#2018-5更新#

博文写于大三,上一学期听说有倒买倒卖课程的造成了很不好的影响学校都新添了很多门选修课,而且学校已经采用了新的教务管理的系统,这个方法是否适用就不得而知了,不过考虑到那个新教务系统的实现还是相对要简单的,应该写起来也不难。不过还是希望学校有更多的选修课,从根本上来解决问题。

#2019-9更新#

前阵子帮女票爬生物的论文网站颇有心得,我发现利用Selenium+Chrome更简单,Selenium可以很简单的使用Chrome获取的元素(利用Chrome中检查元素,获取Xpath),比方说获取课程名称,获取按钮位置,点击按钮等,编写一个简单的程序,就可以自动检查是否有课,并且自动选择,比原文的方法简单更多,百度的教程也更多。

全部评论 (0)

还没有任何评论哟~