Por que curl ignora HTTP_PROXY
A excepción deliberada de curl para HTTP_PROXY, as variables por protocolo, ALL_PROXY e unha proba de proxy previsible baseada no contorno.
Para destinos HTTP, define http_proxy en minúsculas. curl ignora deliberadamente HTTP_PROXY en maiúsculas. Nun intérprete POSIX:
http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/Estas asignacións só se aplican á orde que as segue. Substitúe o punto de escoita do exemplo polo teu proxy; para comparar puntos de acceso públicos, escolle un candidato da lista de proxies HTTP. A variable https_proxy selecciona unha ruta para destinos HTTPS; un valor con http:// segue indicando un proxy HTTP normal capaz de crear un túnel ata o destino. PowerShell e os intérpretes de ordes de Windows usan outra sintaxe de asignación.
Por que esta grafía en maiúsculas é perigosa
Os contornos CGI poden converter as cabeceiras das peticións entrantes en variables HTTP_ en maiúsculas. Así, unha cabeceira chamada Proxy pode converterse en HTTP_PROXY. Confiar nela como configuración de saída permitiría que os datos dunha petición escollesen o proxy. A esixencia de minúsculas de curl evita esa correspondencia; a excepción non se aplica de forma idéntica a HTTPS e ás variables doutros protocolos.
Se cambiar a variable non cambia a ruta
Busca primeiro unha variable específica do protocolo e despois a alternativa ALL_PROXY. Unha regra NO_PROXY coincidente pode evitar o proxy. Tamén importan as variantes en minúsculas e as definicións que compiten entre si. Este bucle para un intérprete de tipo Unix informa da presenza sen amosar valores que poidan conter credenciais:
for name in http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY; do
if printenv "$name" >/dev/null; then
printf '%s is set\n' "$name"
fi
doneInspecciona localmente as definicións enumeradas. Se algunha reaparece, revisa a configuración do intérprete de inicio, do servizo, do IDE, do contedor ou de CI. A presenza identifica posibles entradas; non di que valor prevaleceu.
Para illar unha petición desas eleccións de proxy, fornece tanto o punto de acceso como unha lista de exclusións baleira:
curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/Para unha comparación directa permitida:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Estas ordes axudan a distinguir unha ruta herdada dun fallo de conectividade. Le os resultados da proba do proxy etapa por etapa antes de cambiar máis axustes do contorno. Aplica as regras de variables de curl a curl; o contorno de execución propio dunha aplicación pode descubrir e combinar proxies doutra maneira.