网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 Python中使用urllib2防止302跳转的代码例子
内容
    这篇文章主要介绍了Python中使用urllib2防止302跳转的代码例子,即避免302跳转的实现,需要的朋友可以参考下。
    说明: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
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 17:03:21