如何防止301代码重定向网站?

时间:2011-11-08 21:34:27

标签: python http ironpython pycurl

我正在尝试使用Python连接到网站并获取HTTP状态代码。正如this other question of mine上的答案所示,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库可能会帮助我,但谷歌搜索到目前为止还没有带来任何有用的结果。我是这个领域的新手,所以如果问题很简单,请原谅。

1 个答案:

答案 0 :(得分:2)

我假设你想要的是你的代码遵循301 / 302s到结尾url返回200?

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

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

请求模块的信息可以在这里找到: http://pypi.python.org/pypi/requests/

希望这有帮助。