Comment accéder à la requête HTTP complète dans les applications Python ?

Susan Sarandon
Libérer: 2024-11-19 08:35:02
original
755 Les gens l'ont consulté

How to Access the Full HTTP Request in Python Applications?

Accès à la requête HTTP complète dans les applications Python

Lorsque vous rencontrez des erreurs liées à l'API, il devient souvent nécessaire de fournir la requête HTTP complète à l'équipe d'assistance pour une enquête plus approfondie . Cela inclut non seulement la charge utile de la réponse, mais également les en-têtes de requête.

Dans les applications Python, cela peut être réalisé en utilisant les dernières versions de la bibliothèque de requêtes (1.x et supérieures). Requests exploite le module de journalisation pour contrôler la verbosité des requêtes HTTP. En activant le mode débogage au niveau http.client, vous pouvez capturer l'intégralité de la requête, y compris les en-têtes et les données.

Démonstration

L'extrait de code suivant illustre comment activer la journalisation du débogage :

import requests
import logging

# Enable HTTP client debugging
http_client.HTTPConnection.debuglevel = 1

# Configure loggers
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')
Copier après la connexion

Exemple de sortie

Lorsque le code est exécuté, vous observerez la sortie de débogage suivante :

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
Copier après la connexion

Cette sortie fournit un journal détaillé de la requête, y compris tous les en-têtes et le code d'état de la réponse.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal