python脚本实现自动登陆校园网

搞了几天终于把这个搞出来了,代码不到50行,要是别的网站很好模拟,但这个稍微有点麻烦,抓包工具用了好多,httpfox没抓全,wireshark抓的又太多不好分析,最后还是用神器fiddler才把它搞出来。本着负责任的心态,我就一步一步的把它写下来,希望对后来学习python的人有帮助。
我是用fiddler中的设置断点的方式来分析报文的,首先设置响应后断点,然后连上校园网,随便点击一个网站这里写图片描述例如点击优酷它就自动跳转到校园网了这里写图片描述然后抓包发现第一个跳转的网页请求和回复是这样的这里写图片描述python脚本就要依照他的头部和url来请求,
import requests
url='http://10.10.3.3:8080/portal?userip=172.20.59.118&userurl=http://10.10.3.4:8080'
my_headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding': 'gzip, deflate',
'Connection': 'keep-alive',
}
a=requests.get(url, headers=my_headers)

它的响应报文回复的地址正是它第二次要请求的url,于是第二次请求的url就是a.url,请求头部不变

b=requests.get(url=a.url, headers=my_headers)

这次请求会得到什么呢?
这里写图片描述
我们发现这次请求不仅得到了下一次请求的地址,还得到了cookies值,我们接着看
这里写图片描述
这次请求就加上了cookie值,并且这个网页是登陆页面,需要添加用户名和密码的,我们加上用户名和密码之后,看他会把数据post到哪呢?
这里写图片描述
post后边是网址,cookie就是我们之前取得的cookie值,我们再把需要提交的数据加上模拟登陆就成功了,涉及到隐私,就不把用户名和密码贴出来了
这里写图片描述
完整的代码看这

import requests
url='http://10.10.3.3:8080/portal?userip=172.20.59.118&userurl=http://10.10.3.4:8080'
my_headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding': 'gzip, deflate','Connection': 'keep-alive',}
a=requests.get(url, headers=my_headers)
b=requests.get(url=a.url, headers=my_headers)
r = requests.get(url=b.url,headers=my_headers)
headers={'Accept': 'text/plain, */*; q=0.01','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0','X-Requested-With': 'XMLHttpRequest','Referer': 'http://10.10.3.3:8080/portal/templatePage/20150126153340986/login_custom.jsp?userip=172.20.59.118&userurl=http://10.10.3.4:8080'
}
my_data = {'userName':'xxxxxxxxxx','userPwd':'xxxxxxxxxxx','serviceType':'teacher','isSavePwd':'on','userurl':'http://10.10.3.4:8080','userip':'172.20.59.118','basip':'','language':'Chinese','usermac':'null','wlannasid':'','wlanssid':'','entrance':'null','loginVerifyCode':'','userDynamicPwddd':'','customPageld':'0','pwdMode':'0','portalProxyIP':'10.10.3.3','portalProxyPort':'50200','dcPwdNeedEncrypt':'1','assignIpType':'0','appRootUrl':'http://10.10.3.3:8080/portal/','manualUrl':'','manualUrlEncryptKey':''
}
url3='http://10.10.3.3:8080/portal/pws?t=li'
z=requests.post(url3,data=my_data,headers=headers,cookies=r.cookies)

有任何问题可以在评论上提


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部