ಕೇಸ್-ಸಂವೇದಿ ಪರಿಸರದಲ್ಲಿ 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 ಬದಲಾಯಿಸುವುದು ನಕಲುಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಆದರೆ ಅಪ್ಲಿಕೇಶನ್ ಯಾವ ವಿರೋಧಾಭಾಸದ ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯವನ್ನು ಬಳಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುವುದಿಲ್ಲ. ಪಾರ್ಸರ್ ನಿಮ್ಮ ನಿಯಂತ್ರಣದಲ್ಲಿಲ್ಲದಿದ್ದಾಗ ಆಕಸ್ಮಿಕ ಪರಿಸರ ಕಾಗುಣಿತವೊಂದನ್ನು ತೆಗೆದುಹಾಕುವುದು ಸೂಕ್ತವಾಗಿರಬಹುದು; ಮೊದಲು ಡೌನ್‌ಸ್ಟ್ರೀಮ್ ಕ್ಲೈಂಟ್‌ಗೆ ಯಾವ ಮೌಲ್ಯ ಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು