Headere și coduri de stare

Introducere în API-uri cu Python

Chris Ramakers

Engineering Manager

Anatomia mesajului de cerere și răspuns

Exemplu de mesaj de cerere și răspuns. Cerere: GET /users/42 cu headere. Răspuns: 200 OK cu corp JSON conținând informații despre utilizator.

Introducere în API-uri cu Python

Linia de start

Exemplu cu trei părți distincte ale unui mesaj de cerere sau răspuns, cu linia de start evidențiată

  • Un server va include întotdeauna un cod de stare numeric în mesajul de răspuns
Introducere în API-uri cu Python

Coduri de stare

Categorii de coduri de stare

  • 1XX: Răspunsuri informaționale
  • 2XX: Răspunsuri de succes
  • 3XX: Mesaje de redirecționare
  • 4XX: Erori de client
  • 5XX: Erori de server

Coduri de stare frecvent utilizate

  • 200: OK
  • 404: Negăsit
  • 500: Eroare internă de server
1 Pentru lista completă a codurilor de răspuns, consultați pagina MDN despre coduri de stare: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Introducere în API-uri cu Python

Headere

Exemplu cu trei părți distincte ale unui mesaj de cerere sau răspuns, cu headerele evidențiate

key1: Value 1
key2: Value 2
Introducere în API-uri cu Python

Exemplu: Negocierea conținutului cu headere

Exemplu cu trei părți distincte ale unui mesaj de cerere sau răspuns, cu headerele evidențiate

  • Clientul adaugă un header accept: application/json în cerere
  • Serverul răspunde cu un header content-type: application/json
Introducere în API-uri cu Python

Headere cu 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'
Introducere în API-uri cu Python

Coduri de stare cu 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
Introducere în API-uri cu Python

Să exersăm!

Introducere în API-uri cu Python

Preparing Video For Download...