HTTP协议学习(重定向)
来源:互联网 发布:记录鼠标移动轨迹 js 编辑:程序博客网 时间:2024/04/20 15:02
什么是重定向
HTTP重定向:服务器无法处理浏览器发送过来的请求(request),服务器告诉浏览器跳转到可以处理请求的url上。(浏览器会自动访问该URL地址,以至于用户无法分辨是否重定向了。)
重定向的返回码3XX说明。Location响应首部包含了内容的新地址或是优选地址的URL。
状态码
301:在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL。
302:与301状态码类似,但是,客户端应该使用Location首部给出的URL来零食定位资源,将来的请求仍然使用老的URL。
测试
import urllib2class RedirectHandler(urllib2.HTTPRedirectHandler): def http_error_301(self,req,fd,code,msg,headers): print "301 OK!!" def http_error_302(self,req,fd,code,msg,headers): print "302 OK!!" print headersweibo = "http://www.weibo.com" opener = urllib2.build_opener(RedirectHandler)response = opener.open(weibo)print response.geturl()urllib2.install_opener(opener)
通过打开微博的地址,发现返回302的状态码,返回的首部为
Server: WeiBoDate: Mon, 25 May 2015 08:09:21 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: closeExpires: Mon, 26 Jul 1997 05:00:00 GMTLast-Modified: Mon, 25 May 2015 08:09:21 GMTPramga: no-cacheCache-Control: no-cache, no-storeLocation: http://passport.weibo.com/visitor/visitor?entry=miniblog&a=enter&url=http%3A%2F%2Fweibo.com%2F&domain=.weibo.com&ua=php-sso_sdk_client-0.6.11&_rand=1432541361.4673DPOOL_HEADER: dagda26Set-Cookie: YF-Ugrow-G0=57484c7c1ded49566c905773d5d00f82;Path=/LB_HEADER: venus50
其中的Location为重定向的地址。将重定向的Location进行访问后返回200。
0 0
- HTTP协议学习(重定向)
- HTTP协议分析系列(四)------重定向
- HTTP协议分析系列(四)------重定向
- web整站https环境下使用(spring mvc)redirect重定向到http协议问题
- javaEE:day2-Http头协议(doget/dopost)、转发与重定向、gzip压缩
- 从HTTP协议分析转发和重定向的区别
- nginx实现http协议301、302重定向
- http协议之response案例一:请求重定向
- okhttp源码解析-http协议的实现-重定向
- HTTP重定向处理
- HTTP重定向服务器
- http 302重定向
- http重定向总结
- TCP/IP协议学习备忘之ICMP报文重定向
- http协议6---响应信息头案例一(请求重定向(相当于超链接跳转页面))
- jboss容器,web整站https环境下使用(spring mvc)redirect重定向到http协议问题
- HTTP协议之http状态码详解 300-305重定向
- HTTP 请求转发、重定向
- web端图形绘制--VML--SVG
- 使用 dom4j 生成 XML指定编码格式
- adt, eclipse 查看版本号
- opencv2\flann\lsh_table.h(266): error C2059: 语法错误:“::”
- 【转】 图像增强汇总
- HTTP协议学习(重定向)
- 易语言 剪贴板源码格式查看
- CocoaPods pod install/pod update更新慢的问题
- 欢迎使用CSDN-markdown编辑器
- STL之迭代器
- bundle contains data files不应该被直接修改
- Leetcode31: Contains Duplicate
- Android Activity生命周期都该做哪些事情?
- 基于.Net的单点登录(SSO)解决方案(简易方案以及后续更新成熟方案)