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

Python请求给出200响应,而FireFox得到重定向,python,python-requests,Python,Python Requests,非常简单的问题。当我在任何浏览器中访问我的网站时,它都会重定向。当我在完全相同的url和协议上执行requests.get(my_url)时,我会得到200个响应。为什么?不管我是否将allow_redirects设置为True或False,我仍然会得到相同的行为。我试着设置一个头,这样请求就假装是Firefox,我仍然会得到相同的行为 如何获取请求。获取浏览器在完全相同的URL上获得的重定向 #!/usr/bin/env/python import requests result = re

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

如何获取请求。获取浏览器在完全相同的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系列错误)

response.history即使在
allow_redirects
为真时也是空的,这一事实进一步证明,您永远不会看到firefox中显示的结束页面,您得到的200不是结束页面,但是一个“单击此处”或错误页面。

如果没有真正的URL,很难说……该网站不是公开的,因此对您没有帮助。它与我提供的URL相同,只是有一个不同的(内部)域名。是的,但URL(和用户代理)不是请求中发送的唯一内容。我建议使用Fiddler(您必须让Python信任其证书)作为中间人代理来比较浏览器和Python发送的确切请求,然后手动处理这些差异,直到您确定是什么导致了它。我会为你做的,这就是为什么我要求URL,但当它是内部的,那么你必须自己做。响应内容是否与预期内容相同或完全不同?@JeffWhite然后给出你的评论(“result.Is_redirect为false,result.next为空,result.history为空”),这可能是一个javascript重定向或对某个cookie的测试。我认为这是某种javascript重定向。我不确定,我对Web应用程序没有任何控制权。“响应属性”是什么意思?result.is_重定向为false,result.next为空,result.history为空。重定向是即时的。这应该是一个注释,而不是答案。@Brunodesshuilliers很可能。。。我担心所需的文本量不适合评论,我的计划是在收到澄清后编辑答案。@JeffWhite-requests.get返回一个响应对象-响应对象上的所有属性是否与第一页或重定向到的页面上的期望匹配?