如何确定页面是否被重定向

时间:2008-12-01 19:10:58

标签: python http http-headers

我需要在没有实际下载内容的情况下检查页面是否被重定向。我只需要最终的URL。这样做的最好方法是Python? 谢谢!

2 个答案:

答案 0 :(得分:9)

如果您特别想避免下载内容,则需要使用HEAD请求方法。我相信urlliburllib2库不支持HEAD请求,因此您必须使用较低级别的httplib库:

import httplib

h = httplib.HTTPConnection('www.example.com')
h.request('HEAD', '/')
response = h.getresponse()

// Check for 30x status code
if 300 <= response.status < 400:
    // It's a redirect
    location = response.getheader('Location')

答案 1 :(得分:1)

当您使用urllib2打开网址时,如果您被重定向,则会获得30x的重定向状态。检查信息以查看您重定向的位置。您无需阅读该页面即可阅读响应中的info()