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

0 投票
1 回答
881 浏览
提问于 2025-04-17 05:54

我正在尝试用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/

希望这对你有帮助。

撰写回答