Xử lý lỗi content-type
Điều gì xảy ra khi bạn yêu cầu phản hồi ở một định dạng cụ thể nhưng máy chủ không thể đáp ứng? Giả sử bạn muốn nhận phản hồi dưới dạng XML thay vì JSON. Nếu máy chủ không thể trả về XML, nó sẽ trả về một mã trạng thái cụ thể cho biết không thể phản hồi theo định dạng được yêu cầu. Mã trạng thái dùng trong trường hợp này là 406 Not Acceptable, hay ngắn gọn là 406. Phản hồi từ máy chủ cũng thường chứa một header accept liệt kê tất cả các định dạng phản hồi mà nó có thể trả về. Hãy dùng thông tin này để tìm hiểu những content-type mà API có thể phản hồi.
Bài tập này là một phần của khóa học
Giới thiệu về API trong Python
Hướng dẫn bài tập
- Thêm header
acceptđể yêu cầu máy chủ trả về phản hồi với content-typeapplication/xml. - Kiểm tra xem máy chủ có từ chối yêu cầu hay không bằng cách dùng mã trạng thái liên quan.
- In ra danh sách các content-type được chấp nhận từ phản hồi của máy chủ.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)