CommencerCommencer gratuitement

Gestion des erreurs de type de contenu

Que se passe-t-il lorsque vous demandez une réponse dans un format spécifique mais que le serveur ne peut satisfaire cette demande ? Supposons que vous souhaitiez recevoir la réponse en XML plutôt qu'en JSON. Si le serveur ne peut pas répondre en XML, il répondra avec 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 406 en abrégé. La réponse du serveur contient aussi souvent un en-tête accept qui comprend une liste de tous les formats de réponse possibles. Utilisez cette option pour connaître les types de contenu auxquels l'API peut répondre.

Cet exercice fait partie du cours

Introduction aux API en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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