0

我正在尝试使用 Python 连接到网站并获取 HTTP 状态代码。正如我对这个其他问题的回答所暗示的那样,google.com 等网站的 HTTP 状态代码为 301 或 302(永久移动)的原因是这些服务器正在重定向。但是,我希望能够以这样的方式连接到它们,以便从它们那里获得自然的 200(OK)。这是我当前的代码:

import httplib

conn = httplib.HTTPConnection("google.com", 80)
conn.request("GET","/")
r  = conn.getresponse()
print r.status, r.reason
conn.close()

我需要更改/添加什么来实现这一点?我听说pycurl图书馆可能会帮助我解决这个问题,但到目前为止,谷歌搜索还没有带来任何有用的结果。我是这个领域的新手,所以如果问题微不足道,请原谅。

4

1 回答 1

2

我假设你想要的是让你的代码跟随 301/302s 到返回 200 的结束 url?

如果是这样,您可以尝试使用urllib,或者更好地使用requests您可以使用 pip 安装的。

两者urllib并且更可靠地requests应该遵循 301 和 302,并为您提供返回 200 的最终页面。

可以在此处找到有关请求模块的信息:http: //pypi.python.org/pypi/requests/

希望这可以帮助。

于 2011-11-08T23:58:21.653 回答