[url='http://example.com/hey.php?redirect=http://example.com'
,当我使用get(url).status_code
之类的代码在python3中检查上述URL的http状态代码时,将200
作为http代码。但是,当我键入get(url).history
时,会得到类似[<Response [302]>]
的信息。您能告诉我这种情况吗?!
您是否已勾选requests documentation?当您获得资源时,服务器可能会像“嘿,今天可以在另一个URL上找到该资源。请检查是否要”那样对客户端说。因此,您的客户转到新位置,并最终到达所需的资源。
如果要跟踪此类重定向,请使用history
的request
方法。如果要更改客户端的行为,以使其现在“不希望”在另一个建议的位置查找资源,则可以在allow_redirects=False
方法参数(默认为get
)中设置true
以获取要求)。
在您的情况下,[<Response [302]>]
表示启用了以下重定向,并且您的客户端在达到所需资源之前遵循了重定向一次。
这是带有重定向URL的默认request.get()
行为。
如果您请求返回重定向响应的URL,则requests.get()
将自动遵循重定向。
status_code
是最终请求的结果,history
是此过程中的所有重定向步骤。
如果您不希望出现这种情况,请使用allow_redirects=False
关键字arg。