Hantera content-type-fel
Vad händer när du begär ett svar i ett specifikt format som servern inte kan tillhandahålla? Säg att du vill ta emot svaret i XML i stället för JSON. Om servern inte kan svara i XML returnerar den en specifik statuskod som indikerar att det begärda formatet inte stöds. Statuskoden i det här fallet är 406 Not Acceptable, eller kortfattat 406. Serverns svar innehåller också ofta en accept-header med en lista över alla svarsformat som den kan använda. Använd den för att ta reda på vilka content-typer som API:et stöder.
Den här övningen är en del av kursen
Introduktion till API:er i Python
Övningsinstruktioner
- Lägg till en
accept-header för att begära ett svar i content-typenapplication/xmlfrån servern. - Kontrollera om servern avvisade begäran med hjälp av relevant statuskod.
- Skriv ut en lista över godkända content-typer från serverns svar.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)