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
Instrukcje do ćwiczenia
- Dodaj nagłówek
accept, aby zażądać odpowiedzi w formacieapplication/xmlod 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)