Python http.client CONNECT: Python 3.12 से HTTP/1.1
पुराने HTTP/1.0 CONNECT समाधान लागू करने से पहले Python और ट्रांसपोर्ट कार्यान्वयन जाँचें।
यह पुराना कथन कि Python CONNECT के लिए हमेशा HTTP/1.0 भेजता है, अब सुरक्षित सामान्य नियम नहीं है। Python 3.12 ने http.client की टनलिंग को HTTP/1.1 में बदला और Host हेडर न दिए जाने पर उसका स्वचालित निर्माण जोड़ा।
यह परिवर्तन प्रलेखित मानक-लाइब्रेरी कार्यान्वयन का हिस्सा है। उच्च-स्तरीय HTTP लाइब्रेरी टनल व्यवहार को ओवरराइड या लपेट सकती है, इसलिए उसका संस्करण और Python का संस्करण दोनों दर्ज करें।
यदि प्रॉक्सी टनल को अस्वीकार करता है, तो उस क्लाइंट द्वारा वास्तव में उत्पन्न CONNECT विनिमय की जाँच करें। गंतव्य अनुरोध का HTTP संस्करण बदलना या वेबसाइट अनुरोध में Host हेडर जोड़ना पहले के टनल अनुरोध को ज़रूरी नहीं बदलता।
इसी तरह, पुराने Requests एडाप्टर उदाहरण में निजी फ़ील्ड संपादित करना एप्लिकेशन को अप्रचलित आंतरिक API से बाँध सकता है। संगत, समर्थित क्लाइंट और रनटाइम संयोजन तथा प्रलेखित प्रॉक्सी एकीकरण को प्राथमिकता दें।
रिपोर्ट में दोनों बातचीत अलग रखें: टनल खोलने के लिए उपयोग किया गया HTTP अनुरोध, फिर उसके अंदर गंतव्य के साथ तय किया गया प्रोटोकॉल। वे अलग-अलग संस्करण उपयोग कर सकते हैं और अलग-अलग चरणों में विफल हो सकते हैं।