当前位置:  编程技术>python

Python中使用urllib2防止302跳转的代码例子

    来源: 互联网  发布时间:2014-10-09

    本文导语:  说明:python的urllib2获取网页(urlopen)会自动重定向(301,302)。但是,有时候我们需要获取302,301页面的状态信息。就必须获取到转向前的调试信息。 下面代码将可以做到避免302重定向到新的网页 #!/usr/bin/python # -*- coding: utf-8 -*...

说明:python的urllib2获取网页(urlopen)会自动重定向(301,302)。但是,有时候我们需要获取302,301页面的状态信息。就必须获取到转向前的调试信息。

下面代码将可以做到避免302重定向到新的网页

#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8
#Filename:states_code.py
 
import urllib2
 
class RedirctHandler(urllib2.HTTPRedirectHandler):
  """docstring for RedirctHandler"""
  def http_error_301(self, req, fp, code, msg, headers):
    pass
  def http_error_302(self, req, fp, code, msg, headers):
    pass
 
def getUnRedirectUrl(/tech-python/url,timeout=10/index.html):
  req = urllib2.Request(url)
  debug_handler = urllib2.HTTPHandler(debuglevel = 1)
  opener = urllib2.build_opener(debug_handler, RedirctHandler)
 
  html = None
  response = None
  try:
    response = opener.open(url,timeout=timeout)
    html = response.read()
  except urllib2.URLError as e:
    if hasattr(e, 'code'):
      error_info = e.code
    elif hasattr(e, 'reason'):
      error_info = e.reason
  finally:
    if response:
      response.close()
  if html:
    return html
  else:
    return error_info
 
html = getUnRedirectUrl('http://')
print html



    
 
 

您可能感兴趣的文章:

  • Python中变量交换的例子
  • java直接调用python脚本的例子
  • Python操作json数据的一个简单例子
  • python中使用urllib2获取http请求状态码的代码例子
  • python使用PyFetion来发送短信的例子
  • python中cPickle用法例子分享
  • Python 用户登录验证的小例子
  • shell脚本中执行python脚本并接收其返回值的例子
  • Python 命令行非阻塞输入的小例子
  • python实现文件分组复制到不同目录的例子
  • Python中使用item()方法遍历字典的例子
  • Python中的CURL PycURL使用例子
  • python中合并两个文本文件并按照姓名首字母排序的例子
  • python中使用OpenCV进行人脸检测的例子
  • 使用python调用浏览器并打开一个网址的例子
  • python实现DNS正向查询、反向查询的例子
  • Python实现的简单万年历例子分享
  • Python使用新浪微博API发送微博的例子
  • python中使用pyhook实现键盘监控的例子
  • Python创建、删除桌面、启动组快捷方式的例子分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python中使用urllib2伪造HTTP报头的2个方法
  • python使用urllib2模块获取gravatar头像实例
  • Python库urllib与urllib2主要区别分析
  • python通过urllib2爬网页上种子下载示例
  • python33 urllib2使用方法细节讲解
  • python网页请求urllib2模块简单封装代码
  • Python使用urllib2获取网络资源实例讲解
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python异常信息堆栈输出到日志文件
  • python读取csv文件示例(python操作csv)
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python基础教程之python消息摘要算法使用示例
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • 新手该如何学python怎么学好python?
  • Python获取网页编码的方法及示例代码
  • 使用python删除nginx缓存文件示例(python文件操作)
  • Python异常模块traceback用法举例
  • 移动开发 iis7站长之家
  • python之平台独立的调试工具winpdb介绍
  • 请教:system("C:\python2.4\python.exe C:\aa.py");该语句有何错误?为什么运行界面一闪就消失了并且没有运行完,请给出正确语句!
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • python版本的问题
  • 测试Python内部类型及type和isinstance用法区别
  • Mac OS X10.9安装的Python2.7升级Python3.3步骤详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3