Headers och statuskoder

Introduktion till API:er i Python

Chris Ramakers

Engineering Manager

Request- och response-meddelandets uppbyggnad

Ett exempel på ett request- och response-meddelande. Request: GET /users/42 med headers. Response: 200 OK med JSON-body som innehåller användarinfo.

Introduktion till API:er i Python

Startraden

Exempel på tre distinkta delar av ett request- eller response-meddelande, med startraden markerad

  • En server inkluderar alltid en numerisk statuskod i response-meddelandet
Introduktion till API:er i Python

Statuskoder

Statuskodskategorier

  • 1XX: Informationssvar
  • 2XX: Lyckade svar
  • 3XX: Omdirigeringsmeddelanden
  • 4XX: Klientfelsvar
  • 5XX: Serverfelsvar

Vanligt förekommande statuskoder

  • 200: OK
  • 404: Not Found
  • 500: Internal Server Error
1 En fullständig lista över alla svarskoder finns på MDN:s sida om statuskoder: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Introduktion till API:er i Python

Headers

Exempel på tre distinkta delar av ett request- eller response-meddelande, med headers markerade

key1: Value 1
key2: Value 2
Introduktion till API:er i Python

Exempel: Innehållsförhandling med headers

Exempel på tre distinkta delar av ett request- eller response-meddelande, med headers markerade

  • Klienten lägger till en accept: application/json-header i requesten
  • Servern svarar med en content-type: application/json-header
Introduktion till API:er i Python

Headers med 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'
Introduktion till API:er i Python

Statuskoder med 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
Introduktion till API:er i Python

Nu kör vi en övning!

Introduktion till API:er i Python

Preparing Video For Download...