Content-type से जुड़ी त्रुटियों को संभालना
क्या होता है जब आप response किसी खास फ़ॉर्मेट में माँगते हैं, लेकिन सर्वर वह रिक्वेस्ट पूरी नहीं कर पाता? मान लीजिए आप JSON की बजाय XML में response प्राप्त करना चाहते हैं. अगर सर्वर XML में जवाब नहीं दे सकता, तो वह एक विशेष स्टेटस कोड के साथ बताएगा कि वह अनुरोधित फ़ॉर्मेट में जवाब नहीं दे सकता. इस स्थिति में प्रयुक्त स्टेटस कोड 406 Not Acceptable या संक्षेप में 406 है. सर्वर का response अक्सर एक accept हेडर भी शामिल करता है, जिसमें उन सभी response फ़ॉर्मेट्स की सूची होती है जिनमें वह जवाब दे सकता है. इसका उपयोग करके जानिए कि API किन content types में जवाब दे सकती है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में APIs परिचय
अभ्यास निर्देश
- सर्वर से
application/xmlcontent-type में response माँगने के लिए एकacceptहेडर जोड़ें. - प्रासंगिक स्टेटस कोड का उपयोग करके जाँचें कि सर्वर ने रिक्वेस्ट स्वीकार नहीं की.
- सर्वर response से स्वीकार किए गए content types की सूची प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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)