Headers en statuscodes

Introductie tot API's in Python

Chris Ramakers

Engineering Manager

Anatomie van request en response

Voorbeeld van een request- en response-bericht. Request: GET /users/42 met headers. Response: 200 OK met JSON-body met gebruikersinfo.

Introductie tot API's in Python

De start line

Voorbeeld van drie delen van een request- of response-bericht, met de start line gemarkeerd

  • Een server voegt altijd een numerieke statuscode toe aan de response
Introductie tot API's in Python

Statuscodes

Categorieën statuscodes

  • 1XX: Informatieve responses
  • 2XX: Succesvolle responses
  • 3XX: Redirects
  • 4XX: Clientfouten
  • 5XX: Serverfouten

Veelgebruikte statuscodes

  • 200: OK
  • 404: Not Found
  • 500: Internal Server Error
1 Voor de volledige lijst met responsecodes, zie de MDN-pagina over statuscodes: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Introductie tot API's in Python

Headers

Voorbeeld van drie delen van een request- of response-bericht, met de headers gemarkeerd

key1: Value 1
key2: Value 2
Introductie tot API's in Python

Voorbeeld: Contentnegotiatie met headers

Voorbeeld van drie delen van een request- of response-bericht, met de headers gemarkeerd

  • Client voegt een accept: application/json-header toe aan de request
  • Server antwoordt met een content-type: application/json-header
Introductie tot API's in Python

Headers met requests

# Headers toevoegen aan een request
response = requests.get(
  'https://api.datacamp.com', 
  headers={'accept':'application/json'}
)
# Response-headers lezen
response.headers['content-type']
'application/json'
response.headers.get('content-type')
'application/json'
Introductie tot API's in Python

Statuscodes met requests

# De statuscode opvragen
response = requests.get('https://api.datacamp.com/users/12')

response.status_code == 200
True
# Statuscodes opzoeken via requests.codes
response = requests.get('https://api.datacamp.com/this/is/the/wrong/path')

response.status_code == requests.codes.not_found
True
Introductie tot API's in Python

Laten we oefenen!

Introductie tot API's in Python

Preparing Video For Download...