Encabezados y códigos de estado

Introducción a las API en Python

Chris Ramakers

Engineering Manager

Anatomía de petición y respuesta

Ejemplo de una petición y una respuesta. Petición: GET /users/42 con encabezados. Respuesta: 200 OK con cuerpo JSON con info del usuario.

Introducción a las API en Python

La start-line

Ejemplo de tres partes de una petición o respuesta, con la línea inicial resaltada

  • Un servidor siempre incluye un código de estado numérico en la respuesta
Introducción a las API en Python

Códigos de estado

Categorías de códigos de estado

  • 1XX: Respuestas informativas
  • 2XX: Respuestas satisfactorias
  • 3XX: Redirecciones
  • 4XX: Errores del cliente
  • 5XX: Errores del servidor

Códigos usados con frecuencia

  • 200: OK
  • 404: Not Found
  • 500: Internal Server Error
1 Para ver todos los códigos de respuesta, consulta la página de MDN sobre códigos de estado: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Introducción a las API en Python

Encabezados

Ejemplo de tres partes de una petición o respuesta, con los encabezados resaltados

key1: Value 1
key2: Value 2
Introducción a las API en Python

Ejemplo: negociación de contenido con encabezados

Ejemplo de tres partes de una petición o respuesta, con los encabezados resaltados

  • El cliente añade un encabezado accept: application/json a la petición
  • El servidor responde con un encabezado content-type: application/json
Introducción a las API en Python

Encabezados con requests

# 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'
Introducción a las API en Python

Códigos de estado con requests

# 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
Introducción a las API en Python

¡Vamos a practicar!

Introducción a las API en Python

Preparing Video For Download...