Zacznij terazZacznij za darmo

Obsługa błędów content-type

Co się dzieje, gdy prosisz o odpowiedź w określonym formacie, a serwer nie jest w stanie jej dostarczyć? Wyobraź sobie, że chcesz otrzymać odpowiedź w formacie XML zamiast JSON. Jeśli serwer nie obsługuje XML, odpowie ze specjalnym status code wskazującym, że nie może spełnić tego żądania. W takim przypadku używany jest status code 406 Not Acceptable, w skrócie 406. Odpowiedź serwera często zawiera też nagłówek accept, który zawiera listę wszystkich formatów, w jakich serwer może odpowiedzieć. Skorzystaj z tego, aby dowiedzieć się, jakie typy treści obsługuje dane API.

To ćwiczenie jest częścią kursu

Wprowadzenie do API w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj nagłówek accept, aby zażądać odpowiedzi w formacie application/xml od serwera.
  • Sprawdź, czy serwer odrzucił żądanie, korzystając z odpowiedniego status code.
  • Wyświetl listę akceptowanych typów treści z odpowiedzi serwera.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod