首頁  >  文章  >  後端開發  >  Python請求重定向後如何確定最終URL?

Python請求重定向後如何確定最終URL?

Susan Sarandon
Susan Sarandon原創
2024-11-11 12:32:02981瀏覽

How Do I Determine the Final URL After Redirection Using Python Requests?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn