ComenzarEmpieza gratis

Tratamiento de errores de tipo de contenido

¿Qué ocurre cuando pides una respuesta en un formato concreto pero el servidor no puede satisfacer esa petición? Digamos que quieres recibir la respuesta en XML en lugar de JSON. Si el servidor no puede responder en XML, responderá con un código de estado específico indicando que no puede responder en el formato solicitado. El código de estado utilizado en este caso es 406 Not Acceptable o 406 abreviado. La respuesta del servidor también suele contener una cabecera accept que incluye una lista de todos los formatos de respuesta con los que puede responder. Utilízalo para saber con qué tipos de contenido puede responder API.

Este ejercicio forma parte del curso

Introducción a APIs en Python

Ver curso

Instrucciones de ejercicio

  • Añade una cabecera accept para solicitar al servidor una respuesta en el tipo de contenido application/xml.
  • Comprueba si el servidor no ha aceptado la solicitud utilizando el código de estado correspondiente.
  • Imprime una lista de los tipos de contenido aceptados a partir de la respuesta del servidor.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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)
Editar y ejecutar código