Untersuchen von HTTP-Anfragen in Python-Anwendungen
Das Identifizieren der Fehlerquelle bei API-Aufrufen kann eine Herausforderung sein, insbesondere wenn der Fehlerantwort spezifische Details fehlen . Um solche Probleme zu lösen, benötigen API-Anbieter häufig die gesamte HTTP-Anfrage, einschließlich Header. Dieser Artikel stellt einen praktischen Ansatz zum Erfassen dieser Anfragen mithilfe der Bibliothek beliebter Anfragen vor.
Verwenden der Protokollierung zum Erfassen von Anfragen
Neueste Versionen von Anfragen (1.x und höher) bieten einen einfachen Protokollierungsmechanismus zum Erfassen von HTTP-Anfragen. Indem wir das Debuggen auf der http.client-Ebene aktivieren, können wir sowohl die Anfrage (einschließlich Header und Text) als auch die Antwort (einschließlich Header) protokollieren.
Implementierung
Die Der folgende Codeausschnitt zeigt, wie die Protokollierung von HTTP-Anfragen aktiviert wird:
import requests import logging # Enable debugging at http.client level http_client.HTTPConnection.debuglevel = 1 # Initialize and configure logging logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True # Make an HTTP request requests.get('https://httpbin.org/headers')
Durch die Ausführung dieses Codes aktivieren wir die Protokollierung von Anfragen und speichern die protokollierten Daten in der Variablen „requests_log“. Wir können dann bei Bedarf über diese Variable auf die Anforderungsheader und den Anforderungstext zugreifen.
Beispielausgabe
Das Folgende ist ein Beispiel für die Debug-Ausgabe, die vom Protokollierungsmechanismus generiert wird:
send: 'GET /headers HTTP/1.1\r\nHost: httpbin.org\r\nAccept-Encoding: gzip, deflate, compress\r\nAccept: */*\r\nUser-Agent: python-requests/1.2.0 CPython/2.7.3 Linux/3.2.0-48-generic\r\n\r\n'
Diese Ausgabe enthält die gesamte HTTP-Anfrage, einschließlich der HTTP-Methode, URI, Header und Anfragetext (falls vorhanden). Durch die Bereitstellung dieser Informationen an API-Anbieter können Sie die Identifizierung und Behebung von Fehlern erleichtern.
Das obige ist der detaillierte Inhalt vonWie erfasst man HTTP-Anfragen in Python-Anwendungen mithilfe der Requests-Bibliothek?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!