requests simplifie les appels HTTP : GET, POST, envoi de JSON, etc.
objectifs
- faire une requête GET et lire la réponse
- envoyer des données JSON en POST
- gérer les erreurs réseau et HTTP
explication détaillée
requests.get(url, params={})requests.post(url, json={})- vérifier
r.status_codeetr.raise_for_status() r.json()pour parser JSON
exemples exécutables
import requests
try:
r = requests.get("https://api.github.com/repos/python/cpython")
r.raise_for_status()
data = r.json()
print(data["full_name"], data["stargazers_count"])
except requests.RequestException as e:
print("Erreur HTTP:", e)
bonnes pratiques
- toujours
timeout=pour éviter les blocages - gérer exceptions
RequestException - limiter le nombre de requêtes (respecter API)
pièges courants
- oublier
raise_for_status() - traiter comme succès un code 4xx/5xx
exercices
- récupérer la météo via une API publique et afficher la température.
- envoyer un JSON de test en POST vers httpbin.org/post.
- gérer proprement une erreur 404.