HttpURLConnection.usingProxy() antes e depois de conectar
Interprete usingProxy como estado do manipulador, incluindo o comportamento de proxy explícito do OpenJDK 25 antes de a conexão ser estabelecida.
HttpURLConnection expõe usingProxy, mas o resultado precisa da implementação e do estado da conexão ao lado. Não é um pedido de teste.
No manipulador HTTP do OpenJDK 25, um proxy HTTP configurado explicitamente pode fazer o método retornar true antes de a conexão de rede ser aberta:
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var url = URI.create("http://example.com/").toURL();
var connection = (HttpURLConnection) url.openConnection(proxy);
boolean proxyFlag = connection.usingProxy();Um candidato HTTP da lista de proxies HTTP pode preencher o host e a porta para um pedido público permitido sem autenticação de proxy. openConnection constrói o objeto. Não estabelece a conexão HTTP apenas por devolver esse objeto. O indicador, neste caso de proxy explícito, não prova portanto que o intermediário esteja acessível ou aceite o pedido.
Com seleção automática, a escolha de rota pode ocorrer mais tarde, quando o manipulador se liga. Um resultado false precoce não deve ser tomado como a decisão final de rota. Após a conexão, interprete o estado juntamente com qualquer exceção ou resposta, sobretudo quando estiveram envolvidos autenticação ou recurso alternativo.
O método público pertence a HttpURLConnection, enquanto o comportamento acima é específico do manipulador OpenJDK indicado. Outro fornecedor ou implementação de JDK não tem de expor os mesmos detalhes antes da conexão.
Registe como o proxy foi escolhido e quando o indicador foi lido. Para estabelecer o endereço de origem que o destino vê, guarde provas do lado do destino; um marcador booleano de proxy não tem campo para esse endereço de saída.