返回信息流刚开始学pthon,写了一个爬图片和段子的程序。现在想着写一个自动登录教务查成绩的程序,但是发现,POST的headers和data不会填写,也不知道这两个都是什么意思,那些需要填写。这是POST的头
这是POST的data
下面是我写的POST的haders
headers = {}
headers['Accept'] = 'application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*'
headers['Referer'] = 'http://jwxt.bupt.edu.cn/'
headers['Accept-Language'] = 'zh-CN'
headers['Content-Type'] = 'application/x-www-form-urlencoded'
headers['Accept-Encoding'] = 'gzip, deflate'
headers['User-Agent'] = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)'
headers['Host'] = 'jwxt.bupt.edu.cn'
headers['Content-Length'] = '48'
headers['Connection'] = 'Keep-Alive'
headers['Cache-Control'] = 'no-cache'
headers['Cookie'] = 'JSESSIONID=abc_cFOuipA_A-0Tks85u'
还有data
postData = {}
postData['type'] = 'sso'
postData['zjh'] = 'xxxx'
postData['mm'] = 'xxxx'
postData['v_yzm'] = ‘ufhd’
这样写的headers和data对吗?
顺便问一下,验证码的问题怎么解决?手动输入也行,但是现在我打开源码,不知道那个是验证码的url,求指导。
这是一条镜像帖。来源:北邮人论坛 / python / #7777同步于 2015/7/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
怎么自动登录教务查成绩
wjx
2015/7/11镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
唔...做教务系统相关东西的时候,一个比较坑的地方在于所有的东西都是靠cookie控制的,很多时候表单具体提交了什么甚至都不重要,只要请求的地址和cookie对就行。所以建议楼主在第一次请求的时候还是不要带cookie了,让网站给你set-cookie,然后一直用它给你的cookie就好,要不然和浏览器cookie相同的话可能会出现一些莫名其妙的问题。
我恰好写过一个教务登录的东西,用tk做的GUI。项目地址是:https://github.com/hansnow/bupt_pingjiao_gui
界面长这样
填好用户名密码和验证码之后点击登录会跳到另一个界面,同时控制台会有相关输出。
回到楼主的问题上,登录相关的代码大概就长这样了:
payload = {
"type": "sso",
"zjh": data[0],
"mm": data[1],
"v_yzm": hashcode
}
r = rq.post('http://jwxt.bupt.edu.cn/jwLoginAction.do',data=payload,allow_redirects=False,cookies=COOKIES)
if not ('URP 综合教务系统 - 登录' in r.text):
# print(r.text)
print('login success')
LoginRoot.destroy()
else:
print('login failed')