requêtes Python

Lorsque vous créez une application en Python, il peut arriver que vous souhaitiez vous connecter à un service tiers. Par exemple, si vous créez un outil de fitness, vous souhaiterez peut-être vous connecter à l’API Fitbit afin de voir vos données d’exercice. une application capable d’envoyer des SMS peut se connecter à l’API Twilio.

En Python, la bibliothèque de requêtes vous permet de faire des requêtes afin de pouvoir connecter des services Web tiers à vos applications. Dans ce guide, nous allons découvrir la bibliothèque de requêtes Python et comment vous pouvez l’utiliser pour envoyer des requêtes HTTP.

Requêtes Web : un rafraaîchissement

Les requêtes sont au centre d’Internet. Lorsque vous avez cliqué sur cet article, une requête HTTP a été envoyée au serveur Python.Engineering. Cette demande a indiqué à nos serveurs quelle page Web vous vouliez voir afin que notre serveur puisse trouver la page. Une fois la page Web trouvée, notre serveur Web l’a renvoyée à votre navigateur. Ce processus vous permet de voir ce tutoriel.

Les demandes Web se présentent sous de nombreuses formes différentes. Le type de demande que vous avez fait pour afficher cette page Web s’appelait une demande GET. Ce type de requête permet de récupérer des données. Il existe d’autres types de requêtes telles que POST et PUT, qui sont utilisées pour modifier les ressources sur un serveur. Pour les besoins de ce tutoriel, nous allons nous concentrer sur les requêtes GET et POST.

Comment installer des requêtes

Requests est la bibliothèque HTTP pour Python qui vous permet de faire du web requêtes.

Avant de pouvoir effectuer des requêtes Web à l’aide de Python, nous devons installer la bibliothèque de code de requêtes Python. Nous pouvons le faire en utilisant la commande suivante :

Maintenant que nous avons téléchargé le package Python, nous sommes prêts à faire une demande Web.

Comment faire une demande GET

Le type de demande Web le plus courant que vous avez‚Äô ll make est une requête GET. Ce type de requête vous permet de récupérer des données à partir d’un serveur.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans la technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Disons que nous sommes faire une application qui vous permet de récupérer une liste de faits sur les chats. Pour ce faire, nous allons utiliser une API appelée cat-facts. Cette API est ouverte au public, nous n’avons donc pas besoin d’informations d’identification pour nous connecter. Nous pourrions utiliser ce code pour faire une demande à l’API :

Ce code a renvoyé : 200. Décomposons notre code.

Sur la première ligne, nous avons importé la bibliothèque des requêtes. Cela nous a permis d’accéder à la bibliothèque de requêtes que nous utiliserons dans notre tutoriel. Ensuite, nous avons utilisé la méthode requests.get() pour faire une requête Web. Nous aurions pu utiliser des méthodes comme .put() ou .post() pour faire d’autres types de requêtes, mais dans ce cas, nous n’avions besoin que de récupérer les données du cat- Facts API.

Ensuite, nous avons imprimé le code d’état de notre requête Web. Le numéro 200 a été renvoyé, ce qui nous a indiqué que notre demande Web avait été effectuée avec succès. Nous discuterons de la signification de ces chiffres plus tard dans le didacticiel.

Affichage d’une demande

Dans notre exemple ci-dessus, nous avons imprimé le code d’état de notre demande. Mais comment pouvons-nous voir les données que nous avons récupérées ? O√π sont les faits sur les chats ? C’est là qu’interviennent les méthodes .text et .json().

Afficher la réponse textuelle

Nous pouvons utiliser la méthode .text pour voir le résultat de notre requête Web :

Ce code a renvoyé une liste de faits sur les chats. Mais, ce n’est pas très pratique pour nous car les données que nous interrogeons sont une API. Bien que nous ayons maintenant une liste Python de faits sur les chats, il nous est difficile de les lire car ils sont en texte brut.

Un format plus utile dans lequel nos faits sur les chats pourraient être stockés est JSON. Nous pourrions récupérer les données JSON de notre requête en utilisant ce code :

Notre code renvoie une longue liste de faits sur les chats. Voici le premier enregistrement de la liste :

Réussi ! Nous avons réussi à récupérer notre liste de faits sur les chats.

Comment faire une requête POST

Vous pouvez également utiliser la bibliothèque des requêtes pour faire une requête POST. Cela vous permettra de modifier les données stockées sur un serveur web.

Pour cet exemple, nous allons utiliser l’API Airtable. En effet, nous devons utiliser une API qui prend en charge les requêtes POST et l’API cat-facts est en lecture seule.

Supposons que nous ayons une base de données o√π nous enregistrons toutes les tasses de thé que nous buvons. Nous venons de boire une autre tasse de thé et nous voulons l’ajouter à la base de données. Nous pourrions le faire en utilisant ce code :

Notre code a renvoyé :

Cela nous indique que notre requête HTTP a réussi. Nous venons d’ajouter un enregistrement à notre base de données Airtable à l’aide de leur API. Discutons plus en détail de ces lignes de code.

Tout d’abord, nous avons importé la bibliothèque de requêtes afin de pouvoir faire des requêtes HTTP dans notre code.

Nous avons ensuite défini un dictionnaire qui contenait deux clés et valeurs : une qui stockait notre clé d’authentification et une autre qui spécifiait le type de contenu que nous envoyions au serveur Web. Ce sont les en-têtes que nous devions envoyer pour faire une requête à l’API Airtable.

Ensuite, nous avons déclaré une variable appelée data qui stockait les données que nous voulions envoyer avec notre requête POST. Dans ce cas, nous ajoutions une boisson appelée "Thé noir décaféiné" à notre base de données. Nous avons ensuite utilisé la méthode requests.post() et spécifié nos en-têtes et données en tant que paramètres, ce qui nous a permis de faire une requête POST à ‚Äã‚Äãl’API Airtable.

" Carrière Karma est entrée dans ma vie au moment o√π j’en avais le plus besoin et m’a rapidement aidé à participer à un bootcamp. Deux mois après l’obtention de mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Enfin, nous avons imprimé le résultat de notre requête au format JSON en utilisant res.json().< /p>

Codes d’état HTTP

Le protocole HTTP renvoie un code d’état unique lorsque vous effectuez une requête Web. Cela vous permet de voir si votre requête Web a réussi ou si des erreurs se sont produites. Vous en avez probablement déjà vu quelques-uns, tels que 404.

Voici une liste de référence des codes d’état que vous pouvez rencontrer lorsque vous effectuez une requête avec des requêtes Python :

  • 1XX : Information
  • 2XX : La demande a été effectuée avec succès
  • 3XX : La demande a été redirigée
  • 4XX : Erreur côté client
  • 5XX : Erreur côté serveur

Connaaître ces codes d’état nous permet d’ajouter le débogage dans notre programme. Prenons la requête GET de l’exemple d’API cat-facts de plus haut. Supposons que nous voulions imprimer un message si la ressource à laquelle nous accédons est introuvable. Nous pourrions le faire en utilisant ce code :

Notre code a renvoyé : Succès. Comme le code d’état de notre requête est 200, le message "Success‚" est imprimé sur la console. Cependant, si notre demande avait échoué ‚Äì par exemple, nous avons peut-être spécifié une URL non valide ‚Äì puis le message "Erreur" aurait été imprimé sur la console.

Conclusion

La bibliothèque de requêtes Python vous permet de faire des requêtes HTTP en Python. Dans ce guide, nous avons expliqué comment la bibliothèque de requêtes Python est utilisée pour effectuer des requêtes GET et POST, mais vous pouvez également effectuer des requêtes PUT et DELETE à l’aide de la bibliothèque.

Lorsque vous utilisez une méthode telle que requests.get() ou requests.post(), Python fera une requête à la ressource Web à laquelle vous souhaitez accéder. Vous pouvez joindre des en-têtes et des données à votre demande, ce qui vous permet d’envoyer des informations si vous souhaitez apporter des modifications à une ressource Web que vous possédez.

Vous êtes maintenant prêt à commencer à utiliser les requêtes Python. bibliothèque comme un expert !