使用 Python Requests 库确定重定向后的新 URL
Python Requests 库擅长处理 HTTP 请求,但了解其重定向机制至关重要用于访问最终登陆页面。通过设置allow_redirects=True,库可以通过重定向链跟踪请求。但是,要获取新的重定向 URL,您需要更深入地了解请求的历史记录。
response.history 属性保存请求期间遇到的所有重定向响应的记录。历史列表中的每个响应都包含其状态代码和重定向到的 URL。列表中的最后一项代表最终目的地,存储在 response.url 中。
要访问此信息,请使用以下代码:
import requests response = requests.get(someurl, allow_redirects=True) if response.history: print("Request was redirected") for resp in response.history: print(resp.status_code, resp.url) print("Final destination:") print(response.status_code, response.url) else: print("Request was not redirected")
考虑以下示例:
>>> response = requests.get('http://httpbin.org/redirect/3') >>> response.history (<Response [302]>, <Response [302]>, <Response [302]>) >>> for resp in response.history: ... print(resp.status_code, resp.url) ... 302 http://httpbin.org/redirect/3 302 http://httpbin.org/redirect/2 302 http://httpbin.org/redirect/1 >>> print(response.status_code, response.url) 200 http://httpbin.org/get
此演示展示了遵循重定向链、显示每个重定向的状态代码和 URL 以及最终显示最终目的地的过程。通过利用response.history,您可以在请求重定向后轻松提取新的URL。
以上是Python请求重定向后如何确定最终URL?的详细内容。更多信息请关注PHP中文网其他相关文章!