Zpracování chyb content-type
Co se stane, když požádáš o odpověď v konkrétním formátu, ale server tento požadavek nemůže splnit? Představ si, že chceš dostat odpověď ve formátu XML místo JSON. Pokud server v XML odpovědět neumí, vrátí specifický stavový kód, který říká, že požadovaný formát nepodporuje. V takovém případě se používá stavový kód 406 Not Acceptable, zkráceně 406. Odpověď serveru navíc často obsahuje hlavičku accept, která uvádí seznam všech formátů, ve kterých server skutečně odpovědět dokáže. Využij to ke zjištění, jaké content-types dané API podporuje.
Toto cvičení je součástí kurzu
Úvod do API v Pythonu
Pokyny k cvičení
- Přidej hlavičku
accepta vyžádej si odpověď ve formátuapplication/xml. - Ověř, zda server požadavek nepřijal, pomocí příslušného stavového kódu.
- Vypiš seznam podporovaných content-types z odpovědi serveru.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)