Wie erfasst man HTTP-Anfragen in Python zum Debuggen?

Mary-Kate Olsen
Freigeben: 2024-11-23 06:27:11
Original
835 Leute haben es durchsucht

How to Capture HTTP Requests in Python for Debugging?

Erfassen von HTTP-Anfragen in Python zur Fehlerbehebung

Das Auftreten von HTTP-Fehlern kann frustrierend sein, insbesondere wenn externer Support detaillierte Anfrageinformationen benötigt. In diesem Artikel wird erläutert, wie Sie mithilfe der Requests-Bibliothek die gesamte von Ihrer Python-Anwendung gesendete HTTP-Anfrage erfassen. Durch die Aktivierung der Protokollierung in neueren Versionen von Requests können Sie wertvolle Einblicke in die Header, Daten und Antworten der Anfrage gewinnen.

Anforderungsprotokollierung aktivieren

Requests nutzt das Python-Protokollierungsmodul, um die Ausführlichkeit der Protokollierung zu konfigurieren. Um die Protokollierung zu aktivieren, ändern Sie einfach Ihren Code wie folgt:

import logging

# Enable debugging at http.client level
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)

# Set logging level for requests.packages.urllib3
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
Nach dem Login kopieren

Demonstration

Nachdem Sie die Protokollierung aktiviert haben, können Sie eine GET-Anfrage an eine öffentliche API wie httpbin.org ausführen:

import requests

requests.get('https://httpbin.org/headers')
Nach dem Login kopieren

Beispielausgabe

Die Protokollierungsausgabe enthält wertvolle Informationen über die Anfrage:

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

Die Ausgabe zeigt die vollständige Anfrage, einschließlich Header und die ersten 1024 Bytes des Antworttextes. Diese Informationen können für die Identifizierung der Quelle von HTTP-Fehlern und die Kommunikation mit externen Supportteams von unschätzbarem Wert sein.

Das obige ist der detaillierte Inhalt vonWie erfasst man HTTP-Anfragen in Python zum Debuggen?. 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