使用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中文網其他相關文章!