केस-संवेदनशील वातावरणमा HTTP_PROXY र http_proxy फरक नाम हुन सक्छन्। ConfigParser ले सामान्यतया विकल्पका नामहरूलाई साना अक्षरमा बदल्छ, त्यसैले दुवैलाई पूर्वनिर्धारित मानमा राख्दा तिनीहरू एउटै दोहोरो विकल्प बन्न सक्छन्।

त्यसैले <dict> भन्ने नाम भएको त्रुटि कुनै पनि प्रोक्सी जडान प्रयास गर्नुअघि नै ConfigParser(defaults=os.environ) बाट आउन सक्छ।

यदि अनुप्रयोगलाई यो पार्सरमा जानाजान केस-संवेदनशील वातावरण नामहरू चाहिन्छ भने, तिनीहरू लोड गर्नुअघि सामान्यीकरण नीति तोक्नुहोस्:

import configparser
import os

settings = configparser.ConfigParser(interpolation=None)
settings.optionxform = str
settings.read_dict({'DEFAULT': dict(os.environ)})

यसले दुई हिज्जे छुट्टै राख्छ। खोज र पछि पढिने कुनै पनि कन्फिगरेसनले अब त्यही नीति पालना गर्छ। इन्टरपोलेसन बन्द गर्दा वातावरण मानहरूमा भएका प्रतिशत चिन्हहरूलाई इन्टरपोलेसन सिन्ट्याक्स मान्नबाट पनि रोक्छ।

यदि अनुप्रयोगलाई केस-असंवेदनशील कन्फिगरेसन चाहिन्छ भने, इच्छित वातावरण इनपुटहरू स्पष्ट रूपमा छान्नुहोस् र पार्सरलाई दिनुअघि त्यस क्लाइन्टका प्रोक्सी नियमअनुसार विरोधाभासी हिज्जेहरू समाधान गर्नुहोस्।

strict=False परिवर्तन गर्दा दोहोरो स्वीकारिन्छ, तर अनुप्रयोगले कुन विरोधाभासी प्रोक्सी मान प्रयोग गर्नुपर्ने हो भन्ने निर्धारण गर्दैन। पार्सर तपाईंको नियन्त्रणमा नभएको अवस्थामा एउटा आकस्मिक वातावरण हिज्जे हटाउनु उपयुक्त हुन सक्छ; पहिले तल्लो क्लाइन्टलाई कुन मान चाहिन्छ निर्धारण गर्नुहोस्।

सम्बन्धित लेखहरू