Maison > développement back-end > Tutoriel Python > Comment utiliser les demandes pour faire des demandes HTTP dans Python?

Comment utiliser les demandes pour faire des demandes HTTP dans Python?

百草
Libérer: 2025-03-10 18:52:58
original
601 Les gens l'ont consulté

Comment utiliser les demandes pour faire des demandes HTTP dans Python?

La bibliothèque demandes dans Python simplifie la création de demandes HTTP. Il fournit une API propre et intuitive qui résume une grande partie de la complexité impliquée dans la gestion des connexions, des en-têtes et des réponses HTTP. Pour l'utiliser, vous devez d'abord l'installer. Vous pouvez le faire à l'aide de PIP:

 <code class="bash"> demandes d'installation PIP </code> 
Copier après la connexion

Une fois installé, vous pouvez commencer à faire des demandes. La fonction la plus courante est request.get () , utilisée pour récupérer les données d'une URL. Voici un exemple de base:

 <code class="python"> Importer les demandes Response = request.get (& quot; https: //www.example.com") # vérifie le code d'état imprimer (réponse.status_code) # Accédez au contenu print (réponse.Text) </code>  pre> <p> Ce code varie le contenu HTML du contenu HTML de <pode>. L'objet <code> réponse </code> contient divers attributs, y compris <code> status_code </code> (code d'état http comme 200 ok) et <code> text </code> (le corps de réponse). D'autres attributs utiles incluent <code> des en-têtes </code> (en-têtes de réponse), <code> json () </code> (pour l'analyse des réponses JSON) et <code> contenu </code> (octets de réponse bruts). La gestion des erreurs est cruciale; Nous couvrirons cela dans une section ultérieure. Pour les autres méthodes HTTP (comme Post, put, Delete), vous utilisez des fonctions correspondantes comme <code> remanes.post () </code>, <code> requêtes.put () </code>, et <code> requêtes.delete () </code>. </pode></p> <h2> Prend en charge toutes les méthodes HTTP courantes, notamment:  <ul> <li> <strong> Get: </strong> récupère les données à partir d'une ressource spécifiée. Il s'agit de la méthode la plus fréquemment utilisée. </li> <li> <strong> Post: </strong> soumet les données à traiter à la ressource spécifiée. Souvent pour créer de nouvelles ressources. </li> <li> <strong> put: </strong> remplace toutes les représentations actuelles de la ressource cible avec le contenu téléchargé. </li> <li> <strong> Patch: </strong> applique des modifications partielles à une ressource. Récupère les en-têtes, pas le corps. </li> <li> <strong> Options: </strong> décrit les options de communication pour la ressource cible. </li> </ul> </h2><p> Chaque méthode est représentée par une fonction correspondante dans les <code> demandes </code> Library (par exemple, <code> demandes. L'utilisation spécifique peut varier en fonction de la méthode et de l'API avec laquelle vous interagissez, mais la structure de base reste similaire. Par exemple, <code> remanes.post () </code> nécessite de spécifier les données à envoyer dans le corps de la demande. </code></p> <h2> Comment puis-je gérer différents codes d'état HTTP à l'aide de la bibliothèque de requêtes? </h2> <p> Les codes d'état HTTP indiquent le résultat d'une demande HTTP. La bibliothèque <code> demandes </code> facilite la vérification et la gestion de ces codes. L'attribut <code> réponse.status_code </code> fournit le code d'état (par exemple, 200 pour le succès, 404 pour non trouvé, 500 pour l'erreur du serveur interne). Vous devez toujours vérifier le code d'état pour vous assurer que la demande a réussi. Voici un exemple: </p> <pre class="brush:php;toolbar:false"> <code class="python"> Importer les demandes essayez: réponse = requêtes print (f & quot; Une erreur s'est produite: {e} & quot;) </code> 
Copier après la connexion

Response.RAISE_FOR_STATUS () est une méthode pratique qui augmente automatiquement une exception si le code d'état indique une erreur (4xx ou 5xx Client / Server Errors). Cela simplifie la gestion des erreurs. Vous pouvez également vérifier manuellement le code d'état et gérer différents cas en utilisant if instructions:

 <code class="python"> if réponse.status_code == 200: print (& quot; Success! ") ELF Response.status_code == 404: print (& quot; net;) ELIF Response.Status_code == 500: & quot;);). else: imprimer (f & quot; Code d'état inconnu: {réponse.status_code} & quot;) </code> 
Copier après la connexion

Comment envoyer des demandes de publication avec des données à l'aide de la bibliothèque de demandes à Python?

Envoi de requêtes de publication Les données impliquent en utilisant le corps demandes. Les données peuvent être dans divers formats, tels que les dictionnaires, les listes ou les fichiers.

Voici comment envoyer une demande post-post avec des données en tant que dictionnaire:

 <code class="python"> Importer les demandes de données = {'key1': 'value1', 'key2': 'value2'} réponse = requêtes.post (& quot; https: //httpbin.org/post", data = data) # httpbin.org est un site de test utile imprimer (réponse.status_code) print (réponse.json ()) # httpbin.org renvoie le post data as json </code>  <p> <code> httpbin.org/post </code> avec le dictionnaire fourni comme corps de demande. <code> httpbin.org </code> est un service utile pour tester les demandes HTTP. Pour envoyer des données JSON, utilisez le <code> json </code> paramètre: </p> <pre class="brush:php;toolbar:false"> <code class="python"> Importer les demandes Importer JSON Data = {'key1': 'value1', 'key2': 'value2'} réponse = remanes.post (& quot; https): //httpbin.org/post", json = data) print (réponse.status_code) print (réponse.json ()) </code> 
Copier après la connexion

N'oubliez pas de gérer les erreurs potentielles à l'aide de try ... sauf blocs et réponse.raise_for_status () comme indiqué dans la section précédente. Pour l'envoi de fichiers, utilisez le paramètre Fichiers avec un dictionnaire Mapping Names pour fichier d'objets. La bibliothèque demandes offre une grande flexibilité pour gérer différents types de données pour les demandes de poste.

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal