PaliSkill
Python avancé

Leçon 2 / 9 — Chapitre 7: Requêtes HTTP et APIs

Lire la réponse : status_code et .json()

Le code de statut HTTP se regroupe en familles, selon son premier chiffre : 2xx signifie succès, 4xx une erreur côté client (mauvaise requête, ressource absente), 5xx une erreur côté serveur.

Supposons qu'un serveur réponde avec le code 200 et le corps JSON suivant à une requête sur /produits/riz :

{"nom": "riz", "prix": 5, "stock": 20}
# reponse.status_code vaut 200
# reponse.json() renvoie {"nom": "riz", "prix": 5, "stock": 20}

donnees = reponse.json()
print(donnees["prix"])

Ce code affiche 5 : .json() renvoie ici un dictionnaire Python normal, dont on extrait "prix" exactement comme n'importe quel dictionnaire (vu dans Python Intermédiaire).

Vérifier status_code avant d'utiliser .json() évite une erreur si le serveur n'a pas renvoyé de JSON valide (par exemple en cas d'erreur 500, qui renvoie souvent une page d'erreur en texte brut plutôt qu'un JSON structuré) :

if reponse.status_code == 200:
    donnees = reponse.json()
    print(donnees["prix"])
else:
    print("Erreur :", reponse.status_code)

À vous de jouer : avec une réponse fictive de statut 200 et un corps JSON {"nom": "huile", "prix": 8}, écrivez le code qui affiche "prix" seulement si le statut est 200.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 87 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès