如何使用urllib2.urlopen()获取url重定向状态?

时间:2018-10-05 13:18:39

标签: python url-redirection urllib2 urlopen

我使用urllib2.urlOpen(request)发送Http数据包。即使在成功重定向期间,response.getcode()也会显示200。

我想知道是否存在重定向,并且重新定义了状态(301或302)。

先谢谢您。

2 个答案:

答案 0 :(得分:0)

尝试一下:

sourceRow

答案 1 :(得分:0)

编写您自己的urllib2.HTTPRedirectHandler,在重定向的情况下会被调用:

class CustomHTTPRedirectHandler(urllib2.HTTPRedirectHandler):
    def http_error_302(self, req, fp, code, msg, headers):
        # handle redirect here
        pass

    http_error_301 = http_error_303 = http_error_307 = http_error_302

然后使用install_opener注册它:

opener = urllib2.build_opener(CustomHTTPRedirectHandler)
urllib2.install_opener(opener)
response = urllib2.urlopen("http://yoururl/")