该脚本使用python代码模拟发包实现。教务管理系统版本可能有所不同。请根据实际情况使用
再次声明 **本文章及所有代码仅供学习使用。请勿用于其它用途**
基于网络模拟发包实现。
本文章主要讲抢课部分。模拟登录部分不做说明 全自动和半自动的区别
cookie 只有一个sessionid 每次请求把这sessionid 携带即可。
上代码
在这里插入代码片for i in range(100):
qklist = requests.get(url='http://jwgl.XXXX.edu.cn/xf_xsqxxxk.aspx?xh=0000000000&xm=XXX&gnmkdm=XXX',
cookies = cookie,headers=headers
)
qklist.encoding = 'GBK'
qk = requests.post(url='http://jwgl.XXXX.edu.cn/xf_xsqxxxk.aspx?xh=0000000000&xm=XXX&gnmkdm=XXX',
data=qktest,cookies=cookie,headers =qkhead,allow_redirects=False)
qk.encoding = 'GBK'
print(i,' ',qk.text[0:80])
time.sleep(1)
其中 URL 为 教务管理系统地址。qklist 响应为选修课列表。
qktest 为 抢课所发post请求的body数据 使用str格式直接发送即可。 header为 浏览器 requests抓包所得请求头。
qk.encoding = 'GBK' 系统所使用编码为GB2312 转换为GBK编码即可看到中文/
allow_redirects=False 为禁止重定向。避免调到error页面。
本文主要提供思路。