Manipulação de erros de tipos de conteúdo
O que acontece quando você solicita uma resposta em um formato específico, mas o servidor não consegue atender a essa solicitação? Digamos que você queira receber a resposta em XML em vez de JSON. Se o servidor não puder responder em XML, ele responderá com um código de status específico indicando que não pode responder no formato solicitado. O código de status usado nesse caso é 406 Not Acceptable
ou 406
, de forma abreviada. A resposta do servidor também contém frequentemente um cabeçalho accept
que inclui uma lista de todos os formatos de resposta com os quais ele pode responder. Use isso para saber com quais tipos de conteúdo a API pode responder.
Este exercício faz parte do curso
Introdução às APIs em Python
Instruções de exercício
- Adicione um cabeçalho
accept
para solicitar uma resposta no tipo de conteúdoapplication/xml
do servidor. - Verifique se o servidor não aceitou a solicitação usando o código de status relevante.
- Imprima uma lista dos tipos de conteúdo aceitos na resposta do servidor.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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)