Überprüfen von HTTP-Anfragen in Python-Anwendungen
Bei der Behebung von API-Fehlern, wie sie beispielsweise beim Aufruf der PayPal-API auftreten, ist es wichtig, die zu überprüfen gesamte von der Anwendung gesendete HTTP-Anfrage. Diese Informationen werden häufig von Supportteams benötigt, um die Ursache des Problems zu ermitteln.
Nutzung der Protokollierung zur Anforderungsprüfung
Moderne Versionen der Anforderungsbibliothek (1.x und oben) bieten eine einfache Methode zum Anzeigen von HTTP-Anfragen: die Aktivierung der Protokollierung. Requests nutzt die http.client- und Protokollierungsmodulkonfiguration, um die Ausführlichkeit der Protokollierung zu steuern.
Demonstration:
import requests import logging # Enable debugging at HTTP level http_client.HTTPConnection.debuglevel = 1 # Initialize logging logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True requests.get('https://httpbin.org/headers')
Beispielausgabe:
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): httpbin.org 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' reply: 'HTTP/1.1 200 OK\r\n' header: Content-Type: application/json header: Date: Sat, 29 Jun 2013 11:19:34 GMT header: Server: gunicorn/0.17.4 header: Content-Length: 226 header: Connection: keep-alive DEBUG:requests.packages.urllib3.connectionpool:"GET /headers HTTP/1.1" 200 226
Diese Ausgabe liefert detaillierte Informationen zur HTTP-Anfrage, einschließlich Header und dem ersten Teil der Antwort. Der vollständige Antworttext wird nicht protokolliert. Daher bietet die Aktivierung der Protokollierung in „Anfragen“ eine einfache Möglichkeit, HTTP-Anfragen zu überprüfen und beim Debuggen von API-Problemen zu helfen.
Das obige ist der detaillierte Inhalt vonWie kann ich HTTP-Anfragen in Python-Anwendungen mithilfe der Requests-Bibliothek überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!