Nun contorno sensible a maiúsculas e minúsculas, HTTP_PROXY e http_proxy poden ser nomes distintos. ConfigParser adoita converter os nomes de opción a minúsculas, así que pasar ambos aos valores predeterminados pode convertelos nunha única opción duplicada.

Por iso, un erro que mencione <dict> pode orixinarse en ConfigParser(defaults=os.environ) antes de que se intente calquera conexión co proxy.

Se a aplicación necesita deliberadamente nomes de contorno sensibles a maiúsculas neste analizador, fixe a política de normalización antes de cargalos:

import configparser
import os

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

Así as dúas grafías permanecen separadas. As buscas e calquera configuración lida despois seguen tamén esa política. Desactivar a interpolación evita ademais que os signos de porcentaxe dos valores de contorno se traten como sintaxe de interpolación.

Se a aplicación require unha configuración insensible a maiúsculas, seleccione explicitamente as entradas de contorno desexadas e resolva as grafías en conflito segundo as regras de proxy dese cliente antes de pasalas ao analizador.

Cambiar strict=False acepta duplicados, pero non define que valor de proxy en conflito debe usar a aplicación. Eliminar unha grafía de contorno accidental pode ser axeitado cando non controla o analizador; primeiro determine que valor necesita o cliente posterior.

Artigos relacionados