利用Python requests库模拟登陆学校教务系统

来源:互联网 发布:mac本取消开机密码 编辑:程序博客网 时间:2024/06/09 20:18

在研究了一会requests库的实现之后。发现requests的确非常强大。。

几行代码就登陆上了学校的教务系统,但也许是我们学校的教务系统做的太烂了吧23333.动不动就血崩。

下面是代码。

import requestsimport reimport urllib.requestimport oswhile True: name=input('请输入您的学号') password=input('请输入您的密码') Target='http://wlkt.nuist.edu.cn/(S(i5jngs45zajbn045hncdug55))/default.aspx' data={'__VIEWSTATE':'/wEPDwUKMTM5MjUxOTk4Nw9kFgJmD2QWHgICDxAPFgIeB1Zpc2libGVoZGQWAWZkAgMPEA8WAh8AaGRkZGQCBA8QDxYCHwBoZGRkZAIFDxAPFgIeBFRleHQFCeaVmeWKoeWkhGRkZGQCBg8QDxYCHwBoZGRkZAIHDxAPFgIfAQUG5a2m6ZmiZGRkZAIIDxAPFgIfAQUG5a2m5YqeZGRkZAIJDxAPFgIfAGhkZGRkAgoPEA8WAh8BBQbmlZnluIhkZGRkAgsPEA8WAh8BBQblrabnlJ9kZGRkAgwPEA8WAh8AaGRkZGQCDQ8QDxYCHwBoZGRkZAIODxAPFgIfAGhkZGRkAg8PEA8WAh8AaGRkZGQCEA8QDxYCHwBoZGRkZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WCQUMUmFkaW9CdXR0b240BQxSYWRpb0J1dHRvbjQFDFJhZGlvQnV0dG9uMgUMUmFkaW9CdXR0b24yBQxSYWRpb0J1dHRvbjUFDFJhZGlvQnV0dG9uNQUMUmFkaW9CdXR0b24xBQxSYWRpb0J1dHRvbjEFDFJhZGlvQnV0dG9uM8hkENze68v6MFI9hwYrSEN4tT9A'      ,'TextBox1':str(name),'TextBox2':str(password),'js':'RadioButton3','Button1':'登陆'} s=requests.session() r=s.post(Target,data) if '用户名或密码不正确,请重新登录!' in r.text:    print('登陆失败,用户名或密码不正确,请重新登录!')    continue else:     print('登陆成功!')     break

实现的确很简单。通过session自动记录cookie值,从而可以访问登陆后的页面。

只需要s=requests.session()

然后再进行s.get()和s.set()方法就可以了

然而判断是否登陆成功的时候还是很捉急的。

r.status_code能反应当前的连接状态。我一开始通过这个来判断石头登陆成功。然而错误的学号和密码也能返回200。这就很蛋疼了。

最后我写成上面的形式。然而当服务器炸了的时候,还是能显示登陆成功。


以后有心思再去改改怎么判断吧。

0 0
原创粉丝点击