CommencerCommencez gratuitement

Gérer les erreurs de types de contenu

Que se passe-t-il lorsque vous demandez une réponse dans un format précis mais que le serveur ne peut pas satisfaire cette demande ? Par exemple, vous souhaitez recevoir la réponse en XML plutôt qu'en JSON. Si le serveur ne peut pas répondre en XML, il renverra un code d'état spécifique indiquant qu'il ne peut pas répondre dans le format demandé. Le code d'état utilisé dans ce cas est 406 Not Acceptable, ou simplement 406. La réponse du serveur contient aussi fréquemment un en-tête accept qui répertorie tous les formats de réponse avec lesquels il peut répondre. Servez-vous-en pour découvrir quels types de contenu l'API peut renvoyer.

Cet exercice fait partie du cours

<cours>Introduction aux API en Python</cours>
Voir le cours

Instructions de l’exercice

  • Ajoutez un en-tête accept pour demander au serveur une réponse avec le type de contenu application/xml.
  • Vérifiez si le serveur n'a pas accepté la demande en utilisant le code d'état approprié.
  • Affichez la liste des types de contenu acceptés à partir de la réponse du serveur.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Add a header to use in the request
headers = {____}
response = requests.get('http://localhost:3000/lyrics', headers=headers)

# Check if the server did not accept the request
if (response.____ == ____):
  print('The server can not respond in XML')
  
  # Print the accepted content types
  print('These are the content types the server accepts: ' + response.____)
else:
  print(response.text)
Modifier et exécuter le code