En-têtes et codes d'état

Introduction aux API en Python

Chris Ramakers

Engineering Manager

Anatomie d'un message de requête et de réponse

Exemple de message de requête et de réponse. Requête : GET /users/42 avec en-têtes. Réponse : 200 OK avec corps JSON contenant des infos d'utilisateur.

Introduction aux API en Python

La ligne de départ

Exemple des trois parties d'un message de requête ou de réponse, avec la ligne de départ en surbrillance

  • Un serveur inclura toujours un code d'état numérique dans la réponse
Introduction aux API en Python

Codes d'état

Catégories de codes d'état

  • 1XX : Réponses d'information
  • 2XX : Réussite
  • 3XX : Redirection
  • 4XX : Erreur côté client
  • 5XX : Erreur côté serveur

Codes d'état courants

  • 200 : OK
  • 404 : Not Found
  • 500 : Internal Server Error
1 Pour la liste complète des codes de réponse, consultez la page MDN sur les codes d'état : https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Introduction aux API en Python

En-têtes

Exemple des trois parties d'un message de requête ou de réponse, avec les en-têtes en surbrillance

key1: Value 1
key2: Value 2
Introduction aux API en Python

Exemple : négociation de contenu avec des en-têtes

Exemple des trois parties d'un message de requête ou de réponse, avec les en-têtes en surbrillance

  • Le client ajoute l'en-tête accept: application/json à la requête
  • Le serveur répond avec l'en-tête content-type: application/json
Introduction aux API en Python

En-têtes avec requests

# Ajouter des en-têtes à une requête
response = requests.get(
  'https://api.datacamp.com', 
  headers={'accept':'application/json'}
)
# Lire les en-têtes de la réponse
response.headers['content-type']
'application/json'
response.headers.get('content-type')
'application/json'
Introduction aux API en Python

Codes d'état avec requests

# Accéder au code d'état
response = requests.get('https://api.datacamp.com/users/12')

response.status_code == 200
True
# Consulter les codes d'état avec requests.codes
response = requests.get('https://api.datacamp.com/this/is/the/wrong/path')

response.status_code == requests.codes.not_found
True
Introduction aux API en Python

Passons à la pratique !

Introduction aux API en Python

Preparing Video For Download...