Por que o Java escolheu um proxy SOCKS para sua requisição HTTP
Inspecione o resultado do ProxySelector e as configurações efetivas da JVM antes de aplicar soluções antigas de proxy do Windows.
Uma requisição Java pode encontrar várias entradas de proxy: configuração explícita do cliente, o seletor padrão, propriedades de rede da JVM e configurações suportadas do sistema operacional. Quando um log menciona SOCKS inesperadamente, identifique qual entrada o escolheu.
Para código que usa o seletor padrão, inspecione a decisão para o destino exato:
URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
System.out.println(selector.select(target));
}
Isso relata os candidatos do seletor. Não prova qual conexão acabou tendo sucesso, e um cliente com sua própria rota explícita pode fazer uma escolha diferente.
Verifique as configurações efetivas
Revise http.proxyHost, https.proxyHost, socksProxyHost, suas portas e java.net.useSystemProxies. A documentação de propriedades de rede do JDK descreve seu escopo e precedência. A descoberta de proxy do sistema é verificada na inicialização; defina-a deliberadamente ao iniciar a JVM.
Respostas históricas descrevem combinações específicas de diálogos antigos do Windows e JDKs antigos. Esses relatos podem explicar a origem de uma solução alternativa, mas não estabelecem que um runtime atual tenha o mesmo bug. Registre a versão do runtime e a saída do seletor antes de alterar as configurações do sistema operacional para todos os aplicativos.
Se o aplicativo precisa de um proxy HTTP para um cliente, uma configuração explícita de proxy pode tornar esse requisito mais claro. Se precisa de roteamento automático central, investigue por que o seletor recebeu ou retornou a entrada SOCKS inesperada.
Um seletor personalizado deve preservar desvios intencionais e o tratamento de falhas. Filtrar todos os candidatos SOCKS sem distinção pode quebrar conexões que deveriam usar um. Corrija a regra incorreta com o menor escopo que você conseguir identificar.