Uma variável do shell e uma propriedade de sistema da JVM são entradas de configuração diferentes. Exportar http_proxy para o curl não estabelece http.proxyHost dentro de um cliente Java URLConnection.

Para uma JVM cujas conexões HTTP participantes devam usar uma rota fixa, os argumentos de inicialização podem tornar a escolha explícita:

java -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080 \
     -Dhttps.proxyHost=203.0.113.10 -Dhttps.proxyPort=8080 \
     -jar application.jar

O endpoint é ilustrativo; candidatos HTTP públicos da lista de proxies HTTP podem preencher estes campos quando a aplicação permite essa rota. A propriedade de host aceita um nome de host ou endereço IP, com a porta fornecida separadamente. Não é uma URL de proxy completa.

A autenticação e as regras de contorno precisam de configuração própria. Não deduza que uma propriedade http.proxyPassword não documentada funciona apenas porque um exemplo antigo a inclui. Consulte a API de autenticação documentada e as propriedades de rede do seu JDK.

Isso se aplica aos caminhos de rede Java participantes. Uma biblioteca com um cliente HTTP configurado de forma independente pode seguir outra política. Identifique esse cliente antes de perder tempo convertendo cada variável do shell em argumento da JVM.

Artigos relacionados