Python中使用urllib2防止302跳转的代码例子
2014-07-07 10:48
721 查看
说明: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(url,timeout=10): 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://jb51.net') print html
您可能感兴趣的文章:
相关文章推荐
- Python中使用urllib2防止302跳转的代码例子
- python中使用urllib2获取http请求状态码的代码例子
- python中使用urllib2获取http请求状态码的代码例子
- Python3 使用GUI统计代码量的例子
- 简单使用scipy.weave混合使用Python和C++代码的简单例子
- 使用Python的urllib2和pyquery 提取深圳市太平洋影城的影讯(二)——Python代码编写
- 在看官方的例子时候由一个grid实例,在每一行之前有个加号,展开可以显示内容,在实际应用中还是非常有用的,照搬例子的代码,发现老是提示对象不存在,查阅资料后发现是没有加载插件,这里和大家分享下Ext.grid.RowExpander插件的使用,
- (python)通过一个代码例子来分析对象的生命周期
- 使用Python进行AES加密和解密的示例代码
- Python HTMLParser的使用例子
- C Java PHP Perl Python的程序代码美化工具使用
- [Python系列实用教程]一、Python如何使用urllib2获取网络资源
- C Java PHP Perl Python 的程序代码美化工具(Pretty Print Program/Source Code Beautifier)使用
- [转] 最简单的使用UDP通信的Python Socket例子
- VB.Net程序代码:Hashtable与ListView结合使用测试例子
- 使用ropemacs对python代码进行补全
- 一个完整的使用的例子,和可下代码
- 在 Oracle中使用UTL_SMTP 进行邮件发送的例子代码
- 一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码的例子
- 【转贴】C Java PHP Perl Python的程序代码美化工具使用