Les requêtes HTTP avec Python<span class="wtr-time-wrap after-title"><span class="wtr-time-number">5</span> min read</span>
python requêtes HTTP

Les requêtes HTTP avec Python5 min read

Les requêtes HTTP en Python

Python est un langage de scripting massivement utilisé pour automatiser des tâches. Beaucoup de ces tâches nécessitent une connexion à internet.

Que ça soit pour consommer une API rest ou pour faire du Web Scrapping, on a souvent besoin de faire des requêtes HTTP.

Les librairies de base de Python permettant de faire ces requêtes sont complexes à manier et globalement mauvaises. Heureusement, il existe des librairies nous permettant d’exécuter ces tâches bien plus facilement.

La librairie HTTP la plus utilisée est Requests, elle permet de se connecter à un serveur web en une seule ligne de code. Dans cet article nous allons découvrir les bases de cette librairie.

Que peut faire Requests ?

Requests est une librairie certifiée par Apache2. Elle permet d’envoyer des requêtes HTTP via Python. Avec elle, il est facile d’ajouter du contenu dans les requêtes tels que des Headers , des données de formulaires ou même des fichiers.

Requests simplifie grandement le fonctionnement des requêtes HTTP. Normalement, il faut créer et formater manuellement chaque requête HTTP. Grâce à cette librairie , vous n’avez qu’a fournir les données, tout le reste est géré automatiquement.

Comment installer requests ?

Pour installer Requests, on utilise l’installateur pip. Pour utiliser ce dernier, il suffit d’ouvrir un terminal ou une invite de commande et de taper cette ligne de code :

pip install requests 

Cette commande permet d’installer et d’utiliser la librairie Requests. Maintenant qu’elle est installée, il suffit de l’importer dans votre script Python via cette ligne de code :

import requests

Comment créer une requête

Voyons maintenant comment créer une requête HTTP via la librairie Requests. Pour ce faire, il suffit d’exécuter cette ligne de code :

r = requests.get('http://youtube.com')

Ce code va exécuter une requête http à l’adresse “http://youtube.com”. Voyons maintenant comment est-ce que l’on peut manipuler la réponse :

r = requests.get('http://youtube.com')
print(r.text) // affiche le contenu de la réponse
print(r.json) // affiche le json de la réponse si il y en as
print(r.headers) // Affiche les headers de la réponse sous forme de dictionnaire
print(r.headers['Content-Type']) // affiche le content_type

Comment manipuler une requête

Abordons maintenant quelques opérations que l’on peut effectuer sur les requêtes et les réponses :

Faire des requêtes Post / Put / Delete / Patch

Il est possible de faire très facilement des requêtes d’autres types que get. Pour ce faire, il suffit de remplacer le mot clé après “r” par le verbe HTTP :

r = requests.get('http://youtube.com')
r = requests.post('http://youtube.com')
r = requests.delete('http://youtube.com')
r = requests.put('http://youtube.com')
r = requests.patch('http://youtube.com')

Comme vous le voyez, il suffit de remplacer le mot clé par le verbe HTTP que vous voulez pour faire une requête d’un type différent.

Récupérer du JSON

Souvent , lorsque l’on travaille avec des API REST, on veut récupérer du JSON. Il existe une façon très simple de transformer du JSON en dictionnaire avec Python. Voici le code permettant de le faire :

import requests, json
r = requests.get('un_site_avec_json.fr')
donnees = json.dumps(r.json)

Et voilà, votre JSON est maintenant transformé en dictionnaire facilement manipulable.

Passer des paramètres dans les requêtes

Pour finir, voyons comment passer des paramètres aux requêtes. Pour cela, on doit souvent envoyer les données sous forme de JSON. Nous allons donc voir comment formater ces données et les envoyer :

import requests, json
url = 'votresite.fr'
donnees = json.loads({prenom : 'michel'}) // formatage du dictionnaire vers le json
r = requests.post(url, data=donnees) // envoi des données

Pour envoyer des données, on remplit la variable ‘data’ et pour envoyer des headers, on remplit la variable ‘headers’.

En conclusion

Il est très simple de manipuler des requêtes HTTP grâce à la librairie Requests. En quelques lignes de code on peut parfaitement intéragir avec un système web.

Si cet article vous as plu, vous pouvez vous abonner à ma newsletter pour recevoir le guide GRATUIT Ultime pour bien débuter la programmation

Vous abonner à notre newsletter

* champ requis

Laisser un commentaire

Fermer le menu
×
×

Panier