En-têtes et codes d'état

Introduction aux API en Python

Chris Ramakers

Engineering Manager

Anatomie messages de requête et réponse

Un exemple de message de requête et de réponse. Requête : GET /users/42 avec des en-têtes. Réponse : 200 OK avec corps JSON contenant les informations utilisateur.

Introduction aux API en Python

La ligne de départ

Exemple de trois parties distinctes d’une requête ou d’un message de réponse, avec la ligne de début mise en évidence

  • Un serveur inclura toujours code d’état numérique dans message de réponse
Introduction aux API en Python

Codes d’état

Catégories de codes d’état

  • 1XX: Réponses d'information
  • 2XX: Réponses réussies
  • 3XX: Messages de redirection
  • 4XX: Réponses d’erreur client
  • 5XX: Réponses d’erreur du serveur

Codes d’état fréquemment utilisés

  • 200: OK
  • 404: Non trouvé
  • 500: Erreur interne du serveur
1 Pour une liste complète de tous les codes de réponse, consulter la page MDN sur les codes d’état via https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Introduction aux API en Python

En-têtes

Exemple de trois parties distinctes d’une requête ou d’une réponse, avec les en-têtes mis en évidence

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

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

Exemple de trois parties distinctes d’un message de requête ou de réponse, avec les en-têtes mis en évidence

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

En-têtes avec requêtes

# Adding headers to a request
response = requests.get(
  'https://api.datacamp.com', 
  headers={'accept':'application/json'}
)
# Reading response headers
response.headers['content-type']
'application/json'
response.headers.get('content-type')
'application/json'
Introduction aux API en Python

Codes d’état avec requêtes

# Accessing the status code
response = requests.get('https://api.datacamp.com/users/12')

response.status_code == 200
True
# Looking up status codes using 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...