HTTP_PROXY සහ http_proxy සමඟ ConfigParser DuplicateOptionError
Linux පරිසරයේ HTTP_PROXY සහ http_proxy එකට පැවතිය හැකි වුවත්, ConfigParser පෙරනිමි ලෙස භාවිත කරන විට DuplicateOptionError ඇතිවන්නේ ඇයි දැයි තේරුම් ගන්න.
කේස්-සංවේදී පරිසරයක 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 වෙනස් කිරීම අනුපිටපත් පිළිගනී, නමුත් යෙදුම කුමන ගැටෙන ප්රොක්සි අගය භාවිත කළ යුතුද යන්න තීරණය නොකරයි. විග්රහකය ඔබේ පාලනයේ නොමැති විට අහම්බෙන් සිදුවූ පරිසර අක්ෂර වින්යාසයක් ඉවත් කිරීම සුදුසු විය හැක; පළමුව පහළ සේවාදායකයාට කුමන අගය අවශ්යද යන්න තීරණය කරන්න.