Heim > Backend-Entwicklung > Python-Tutorial > Wie bestimme ich die endgültige URL nach der Umleitung mithilfe von Python-Anfragen?

Wie bestimme ich die endgültige URL nach der Umleitung mithilfe von Python-Anfragen?

Susan Sarandon
Freigeben: 2024-11-11 12:32:02
Original
1009 Leute haben es durchsucht

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

Bestimmen einer neuen URL nach der Umleitung mit der Python-Requests-Bibliothek

Die Python-Requests-Bibliothek zeichnet sich durch die Verarbeitung von HTTP-Anfragen aus, aber das Verständnis ihres Umleitungsmechanismus ist von entscheidender Bedeutung für den Zugriff auf die endgültige Zielseite. Durch die Einstellung „allow_redirects=True“ folgt die Bibliothek Anfragen über eine Umleitungskette. Um jedoch die neue, umgeleitete URL zu erhalten, müssen Sie tiefer in den Verlauf der Anfrage eintauchen.

Das Attribut „response.history“ enthält eine Aufzeichnung aller während der Anfrage aufgetretenen Umleitungsantworten. Jede Antwort in der Verlaufsliste enthält ihren Statuscode und die URL, zu der sie weitergeleitet wurde. Das letzte Element in der Liste stellt das endgültige Ziel dar, das in „response.url“ gespeichert ist.

Um auf diese Informationen zuzugreifen, verwenden Sie den folgenden Code:

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")
Nach dem Login kopieren

Betrachten Sie das folgende Beispiel:

>>> 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
Nach dem Login kopieren

Diese Demonstration zeigt den Prozess des Verfolgens der Weiterleitungskette, die Darstellung der Statuscodes und URLs jeder Weiterleitung und schließlich die Anzeige des endgültigen Ziels. Durch die Verwendung von „response.history“ können Sie die neue URL mühelos extrahieren, nachdem eine Anfrage umgeleitet wurde.

Das obige ist der detaillierte Inhalt vonWie bestimme ich die endgültige URL nach der Umleitung mithilfe von Python-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage