Python请求给出200响应,而FireFox得到重定向



非常简单的问题。当我在任何浏览器中访问我的网站时,它都会重定向。当我在完全相同的URL和协议上执行requests.get(my_url)时,我会得到200的响应。为什么?不管我将allow_redirects设置为True还是False,我仍然会得到相同的行为。我试着设置一个头,这样请求就假装是Firefox,我仍然会得到同样的行为。

我如何获得requests.get,以便为我提供浏览器在完全相同的URL上获得的重定向?

#!/usr/bin/env/python
import requests
result = requests.get("https://bgjkfgbjfgghbjdfbhdgfjkh.fake")
print(result.status_code)

上面打印的是"200"。

从您所有的评论中,状态200听起来并不是表示正确获取了结束页(您说response.text在这两种情况下完全不同,即它不是您期望的结束页(。

在这种情况下,要么:

  • 您得到了一个简单的"点击此重定向"页面,您从firefox体验到的自动重定向正在javascript中实现(requets.get无法处理(
  • 或者,由于缺少其他内容,例如cookie,网站正在提供另一个"错误"页面(没有400系列错误(

即使allow_redirects为True,response.history也是空的,这一事实进一步证明了你永远不会得到你在firefox中看到的结束页,而且你得到的200不是结束页,而是一个"单击此处"或错误页。

最新更新