Katta-kichik harflarni ajratadigan muhitda HTTP_PROXY va http_proxy turli nomlar boʻlishi mumkin. ConfigParser odatda variant nomlarini kichik harflarga oʻgiradi, shuning uchun ikkalasini ham standart qiymatlarga berish ularni bitta takrorlangan variantga aylantirishi mumkin.

Shu sababli <dict> deb nomlangan xato har qanday proksi ulanishiga urinishdan oldin ConfigParser(defaults=os.environ) dan kelib chiqishi mumkin.

Agar dastur bu tahlilchida katta-kichik harfga sezgir muhit nomlarini ataylab talab qilsa, ularni yuklashdan oldin normallashtirish siyosatini belgilang:

import configparser
import os

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

Shunday qilib ikkala yozilish alohida qoladi. Qidiruvlar va keyinroq oʻqiladigan har qanday konfiguratsiya ham endi shu siyosatga amal qiladi. Interpolyatsiyani oʻchirish muhit qiymatlaridagi foiz belgilarining interpolyatsiya sintaksisi sifatida qabul qilinishini ham oldini oladi.

Agar dastur katta-kichik harfga bogʻliq boʻlmagan konfiguratsiyani talab qilsa, kerakli muhit kiritmalarini aniq tanlang va tahlilchiga berishdan oldin qarama-qarshi yozilishlarni shu mijozning proksi qoidalariga koʻra hal qiling.

strict=False ni oʻzgartirish takrorlarni qabul qiladi, lekin dastur qaysi qarama-qarshi proksi qiymatidan foydalanishi kerakligini belgilamaydi. Tahlilchini siz nazorat qilmasangiz, tasodifan paydo boʻlgan muhit yozilishini olib tashlash oʻrinli boʻlishi mumkin; avval quyi oqimdagi mijozga qaysi qiymat kerakligini aniqlang.

O'xshash maqolalar