3.1 Module requests
Pour un travail de base avec Internet en Python, il y a la bibliothèque
requests
. Elle fournit une interface pratique pour
travailler avec le réseau, permettant d'envoyer des requêtes HTTP et de recevoir des réponses
avec un minimum d'effort.
Cette bibliothèque n'est pas incluse avec Python, donc avant de l'utiliser, tu dois l'installer via le gestionnaire de paquets.
Ouvre ton terminal et écris :
pip install requests
Après avoir installé la bibliothèque, tu peux utiliser le module requests
dans
tes projets. Par exemple, voici comment tu peux déterminer ton adresse IP externe :
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # Affiche le code de statut de la réponse
print(response.json()) # Affiche la réponse JSON
Ici, nous avons envoyé une requête au service (site) ip.jsontest.com
, qui retourne un objet JSON avec
l'adresse IP, depuis laquelle la requête a été envoyée. L'envoi et la réception de la réponse sont effectués en une seule ligne — c'est
très pratique. Dans les lignes restantes, nous avons simplement imprimé la réponse du serveur.
Dans l'exemple ci-dessus, nous avons appelé la méthode get()
, ci-dessous je vais te parler de cette méthode et d'autres méthodes de l'objet
requests
.
3.2 Liste des méthodes
L'objet requests
a des méthodes pour toutes les occasions, ou plutôt une méthode pour chaque type de requête HTTP.
Méthode | Description |
---|---|
requests.get()
|
Envoie une requête GET pour obtenir des données du serveur. |
requests.post() |
Envoie une requête POST pour envoyer des données au serveur. |
requests.put() |
Envoie une requête PUT pour mettre à jour des données sur le serveur. |
requests.delete() |
Envoie une requête DELETE pour supprimer des données du serveur. |
requests.head() |
Envoie une requête HEAD pour obtenir les en-têtes sans le corps de la réponse. |
requests.options() |
Envoie une requête OPTIONS pour obtenir les méthodes et paramètres pris en charge par le serveur. |
requests.patch() |
Envoie une requête PATCH pour mettre à jour partiellement des données sur le serveur. |
requests.request() |
Méthode principale pour envoyer tous les types de requêtes HTTP . |
Nous allons examiner ci-dessous les plus basiques d'entre elles.
3.3 Envoi d'une requête GET
et d'une requête POST
Une requête GET
se compose généralement uniquement de l'URL, ou peut contenir une chaîne de paramètres supplémentaire.
1. Envoi d'une requête GET simple
La requête GET
est utilisée pour obtenir des données du serveur. Le paramètre obligatoire est l'URL à laquelle
la requête est envoyée.
Exemple :
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # Affiche le code de statut de la réponse
print(response.json()) # Affiche la réponse JSON
2. Envoi d'une requête GET avec des paramètres
L'URL peut également contenir des paramètres supplémentaires sous forme de chaîne key=value&key2=value2&…
Dans notre cas, les paramètres sont passés sous forme de dictionnaire et de la variable params
:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. Envoi d'une requête POST
La requête POST
peut contenir un corps de requête : texte, JSON ou même une image.
Exemple :
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 Envoi d'une requête PUT
et d'une requête DELETE
1. Envoi d'une requête PUT
La requête PUT
est utilisée pour mettre à jour des données sur le serveur.
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. Envoi d'une requête DELETE
La requête DELETE
est utilisée pour supprimer des données du serveur.
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
Pour mieux comprendre le concept des requêtes GET
, POST
, PUT
et DELETE
, tu devras lire des leçons sur le fonctionnement du réseau,
Internet, le web et HTTP
. Tout cela t'attend dans un avenir proche.
GO TO FULL VERSION