Обработка ошибок типа содержимого
Что происходит, если вы запрашиваете ответ в определённом формате, а сервер не может его предоставить? Допустим, вы хотите получить ответ в формате XML, а не JSON. Если сервер не поддерживает XML, он вернёт специальный код статуса, указывающий на невозможность ответить в запрошенном формате. В таком случае используется код 406 Not Acceptable, или сокращённо 406. Ответ сервера также нередко содержит заголовок accept со списком всех форматов, которые он поддерживает. Используйте это, чтобы узнать, с какими типами содержимого умеет работать API.
Это упражнение является частью курса
Введение в API на Python
Инструкции к упражнению
- Добавьте заголовок
accept, чтобы запросить ответ сервера в форматеapplication/xml. - Проверьте, отклонил ли сервер запрос, используя соответствующий код статуса.
- Выведите список допустимых типов содержимого из ответа сервера.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)