Menangani kesalahan content-type
Apa yang terjadi ketika Anda meminta respons dalam format tertentu tetapi server tidak dapat memenuhinya? Misalnya, Anda ingin menerima respons dalam XML alih-alih JSON. Jika server tidak dapat merespons dalam XML, server akan membalas dengan kode status khusus yang menunjukkan bahwa format yang diminta tidak dapat dipenuhi. Kode status yang digunakan dalam kasus ini adalah 406 Not Acceptable atau singkatnya 406. Respons dari server juga sering kali berisi header accept yang mencantumkan semua format respons yang memang dapat disediakan. Gunakan informasi ini untuk mengetahui tipe konten apa saja yang dapat dikembalikan oleh API.
Latihan ini adalah bagian dari kursus
Pengantar API di Python
Petunjuk latihan
- Tambahkan header
acceptuntuk meminta respons dengan content-typeapplication/xmldari server. - Periksa apakah server tidak menerima permintaan tersebut menggunakan kode status yang relevan.
- Cetak daftar tipe konten yang diterima dari respons server.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)