Gestionarea erorilor legate de tipul de conținut
Ce se întâmplă când soliciți un răspuns într-un format specific, dar serverul nu poate satisface acea cerere? Să presupunem că vrei să primești răspunsul în XML, nu în JSON. Dacă serverul nu poate răspunde în XML, va returna un cod de stare specific, care indică faptul că nu poate răspunde în formatul solicitat. Codul de stare folosit în acest caz este 406 Not Acceptable, sau, pe scurt, 406. Răspunsul serverului conține adesea și un header accept, care include lista tuturor formatelor de răspuns cu care poate răspunde. Folosește-l pentru a afla ce tipuri de conținut acceptă API-ul.
Acest exercițiu face parte din cursul
Introducere în API-uri cu Python
Instrucțiuni pentru exercițiu
- Adaugă un header
acceptpentru a solicita un răspuns în tipul de conținutapplication/xmlde la server. - Verifică dacă serverul nu a acceptat cererea folosind codul de stare relevant.
- Afișează lista tipurilor de conținut acceptate din răspunsul serverului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)