5

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

4

2 回答 2

9

如果您特别想避免下载内容,则需要使用 HEAD 请求方法。我相信urllibandurllib2库不支持 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')
于 2008-12-01T19:23:33.620 回答
1

当您使用 打开 URLurllib2并被重定向时,您会获得 30x 的重定向状态。检查信息以查看您被重定向到的位置。您无需阅读页面即可阅读info()响应的一部分。

于 2008-12-01T19:15:49.550 回答