如何防止301代码重定向网站?
我正在尝试用Python连接网站,并获取它们的HTTP状态码。根据我在另一个问题上得到的回答,像google.com这样的网站返回的HTTP状态码是301或302(表示永久移动),这是因为这些服务器在进行重定向。不过,我希望能以某种方式连接到这些网站,直接得到自然的200(表示正常)。这是我现在的代码:
import httplib
conn = httplib.HTTPConnection("google.com", 80)
conn.request("GET","/")
r = conn.getresponse()
print r.status, r.reason
conn.close()
我需要修改或添加什么才能实现这个目标呢?我听说pycurl
库可能对我有帮助,但在网上搜索到的结果都没有什么用。我在这个领域还是个新手,所以如果这个问题很简单,请多包涵。
1 个回答
2
我猜你想要的是让你的代码能够跟踪301和302的重定向,最终到达返回200的链接,对吧?
如果是这样的话,你可以试试用 urllib
,或者更推荐使用 requests
,这个可以通过pip来安装。
无论是 urllib
还是更可靠的 requests
,都能跟踪301和302的重定向,最终给你返回200的页面。
关于requests模块的信息可以在这里找到: http://pypi.python.org/pypi/requests/
希望这对你有帮助。