У окружењу осетљивом на велика и мала слова 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 прихвата дупликате, али не одређује коју противречну прокси вредност апликација треба да користи. Уклањање једног случајног правописа може бити примерено када не контролишете парсер; најпре утврдите која је вредност потребна клијенту низводно.

Повезани чланци