Tornado एक अतुल्यकालिक HTTP क्लाइंट इंटरफ़ेस देता है, जिसके नीचे अलग-अलग कार्यान्वयन हैं। इसलिए प्रॉक्सी विकल्प चुने गए कार्यान्वयन के कारण विफल हो सकते हैं, भले ही प्रॉक्सी एंडपॉइंट सही हो।

HTTP क्लाइंट दस्तावेज़ SimpleAsyncHTTPClient को डिफ़ॉल्ट कार्यान्वयन के रूप में पहचानते हैं और curl-आधारित विकल्प का दस्तावेज़ीकरण करते हैं। proxy_host जैसे अनुरोध विकल्पों के कार्यान्वयन-विशिष्ट समर्थन नोट होते हैं। fetch कॉल में विकल्प जोड़ने से पहले वे नोट पढ़ें।

क्लाइंट बनाने से पहले कॉन्फ़िगर करें

जिस वातावरण में पहले से curl बैकएंड है, वहाँ कोई एप्लिकेशन अपना साझा क्लाइंट बनाने से पहले उसे चुन सकता है:

from tornado.httpclient import AsyncHTTPClient

AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()

फिर इच्छित कॉल के लिए प्रॉक्सी होस्ट, पोर्ट, प्रमाणीकरण और टाइमआउट के दस्तावेज़ीकृत अनुरोध विकल्पों का उपयोग करें। होस्टनाम को संख्यात्मक पोर्ट से अलग रखें। बैकएंड चुनना अपने आप प्रॉक्सी एंडपॉइंट नहीं चुनता। अनुमत सार्वजनिक HTTP मार्ग के लिए HTTP प्रॉक्सी सूची उन अनुरोध विकल्पों के लिए होस्ट और पोर्ट उम्मीदवार देती है।

क्लाइंट बनाना महत्वपूर्ण है क्योंकि यह कोड चलने से पहले कोई एप्लिकेशन या फ़्रेमवर्क HTTP क्लाइंट बना और रख सकता है। विफल अनुरोध में इस्तेमाल किया गया वास्तविक इंस्टेंस जाँचें, बजाय बाद में दूसरा क्लाइंट बनाकर यह मानने के कि वह पहले को समझाता है।

निदान के लिए सक्रिय बैकएंड और उसके अंतर्निहित लाइब्रेरी संस्करण को विफल चरण के साथ दर्ज करें। असमर्थित अनुरोध विकल्प को नेटवर्क टाइमआउट और प्रॉक्सी द्वारा लौटाए गए HTTP प्रतिक्रिया से अलग पहचानें। ये अवलोकन अलग-अलग सुधारों की ओर ले जाते हैं।

संबंधित लेख