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")
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
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!