当前位置: 移动技术网 > IT编程>脚本编程>Python > Python中使用urllib2防止302跳转的代码例子

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

2019年03月29日  | 移动技术网IT编程  | 我要评论

西单大悦城官网,好哥哥 再深点,pcsx2 1.050

说明: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


如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网