python2 urllib2 重定向模拟学校图书馆用户登录(一)
来源:互联网 发布:知乎钓鱼岛问题 编辑:程序博客网 时间:2024/06/07 23:35
之前的两篇文章,分别介绍了利用requests库进行登录和urllib2解决重定向的问题。
由于urllib2在处理重定向会丢失cookie,在这里利用这个MyHTTPRedirectHandlerclass可以解决该问题。
再次进行学校图书馆登录模拟(浏览器请求为post和get)
这里我们先进行利用重定向一次登录,只需要提交一次post请求,即可输出登录成功的页面。用户登录的图片在requests登录的地方就可以看到,这里就不写了,在那篇文章中指出了302返回的cookie在第二次get请求中是非常重要的。这个cookie是需要在请求的头部带上的。
import urllib2# 由于urllib重定向不带cookie,这里定义的class带cookie,使得重定向返回正确页面# https://stackoverflow.com/questions/554446/how-do-i-prevent-pythons-urllib2-from-following-a-redirecturl = "http://210.32.205.60/login.aspx"header = {"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Encoding":"gzip, deflate","Accept-Language":"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3","Connection":"keep-alive","Content-Type":"application/x-www-form-urlencoded","Host":"210.32.205.60","Referer":"http://210.32.205.60/login.aspx","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 6.1; rv:54.0) Gecko/20100101 Firefox/54.0"}body = b'__VIEWSTATE=%2FwEPDwUILTE0Mjc2MjEPZBYCAgMPZBYCAg8PDxYCHgdWaXNpYmxlaGRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBQxJbWFnZUJ1dHRvbjEFDEltYWdlQnV0dG9uMtIIHXEj%2BaKpKEuN3WBMS5An9yfKLqy76FI5Cs0ie1No&__VIEWSTATEGENERATOR=C2EE9ABB&__EVENTVALIDATION=%2FwEdAAbAeS%2BByzNg%2FXW9jIKItJSsl0eOxoEPS0IDqf0EHRx3vxEghZBVv0boc2NaC2%2FzVFQdp1z%2BnYWZ%2BpirZkxjR3dz6ZACrx5RZnllKSerU%2BIuKmLNV%2B2mZgnOAlNG5DVTg1uHvSo3x4u7p65TqmriJkDgirf2cB43UeZMqMyeVeS88Q%3D%3D&DropDownList1=0&TextBox1=读者号&TextBox2=密码&ImageButton1.x=44&ImageButton1.y=12'class MyHTTPRedirectHandler(urllib2.HTTPRedirectHandler): def http_error_302(self, req, fp, code, msg, headers): print "Cookie manipulation Right Here" return urllib2.HTTPRedirectHandler.http_error_302(self, req, fp, code, msg, headers) http_error_301 = http_error_303 = http_error_307 = http_error_302cookieprocessor = urllib2.HTTPCookieProcessor()opener = urllib2.build_opener(MyHTTPRedirectHandler, cookieprocessor)urllib2.install_opener(opener)request = urllib2.Request(url, headers=header, data=body)response =urllib2.urlopen(request)print response.read()print cookieprocessor.cookiejar # 输出重定向返回头部中的的cookie
阅读全文
0 0
- python2 urllib2 重定向模拟学校图书馆用户登录(一)
- python2 urllib2 重定向模拟用户登录图书馆(二)
- python2+requests+模拟用户登录+重定向
- 【DRP】-用户登录-session和重定向
- 对于301重定向情况下的模拟登录
- HttpClient模拟网页登录,并实现302重定向
- python urllib2处理重定向的问题
- python urllib2 解决重定向问题
- 用户登录后,重定向原来访问页面
- 用户登录后重定向到要访问页面
- 重定向用户
- 重定向用户
- 重定向用户
- urllib2模拟header请求来躲过登录
- python2和python3重定向的区别
- ACE日志重定向(一)
- Bash Shell 重定向(一):原文
- 数据流重定向(一)
- speex 回声消除(1)
- java 自 定 义 对 象 实 现 排 序
- Python爬取虎扑步行街,爆照区中的照片
- 整数中1出现的次数(从1到n整数中1出现的次数)
- Fedora25设置开机启动脚本
- python2 urllib2 重定向模拟学校图书馆用户登录(一)
- speex 回声消除(2)
- Android json数据中有转义字符
- Linux NFS
- linux服务器上跑easypr
- 猜字游戏升级
- MySQL高级
- Python3、setuptools、Pip3安装详解
- python 合并同一路径下的同类型文件