0

我正在使用以下方法获取 HTTP 响应代码,但无法获取 3xx 响应代码。

import urllib2
for url in ["http://entrian.com/", "http://entrian.com/does-not-exist/"]:
    try:
        connection = urllib2.urlopen(url)
        print connection.getcode()
        connection.close()
    except urllib2.HTTPError, e:
        print e.getcode()

如何禁用 urllib2 上的重定向处理?

4

2 回答 2

4

您可以创建HTTPRedirectHandler的子类型,以您想要的任何方式处理每个重定向响应代码。然后,您可以使用urllib2.build_opener将自定义重定向处理程序构建到开启程序中,并以这种方式覆盖默认重定向处理程序。

于 2013-01-31T12:45:18.110 回答
4

这不是一个直接的答案 - 但在这种情况下,你最好使用requests

import requests
for url in ["http://entrian.com/", "http://entrian.com/does-not-exist/"]:
    print requests.head(url).status_code
于 2013-01-31T12:52:04.987 回答