HttpURLConnection.usingProxy() antes e despois de conectar
Interprete usingProxy como estado do xestor, incluído o comportamento de proxy explícito de OpenJDK 25 antes de establecer unha conexión.
HttpURLConnection expón usingProxy, pero o resultado necesita ao seu carón a implementación e o estado da conexión. Non é unha solicitude de proba.
No xestor HTTP de OpenJDK 25, un proxy HTTP configurado explicitamente pode facer que o método devolva true antes de abrir a conexión de rede:
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();Un candidato HTTP da lista de proxies HTTP pode encher o host e o porto para unha solicitude pública permitida sen autenticación de proxy. openConnection constrúe o obxecto. Non establece a conexión HTTP só por devolver ese obxecto. Polo tanto, o indicador neste caso de proxy explícito non demostra que o intermediario sexa accesible ou acepte a solicitude.
Coa selección automática, a elección de ruta pode ocorrer máis tarde, mentres o xestor se conecta. Un resultado false temperán non debe tomarse como a decisión final de ruta. Despois da conexión, interprete o estado xunto con calquera excepción ou resposta, sobre todo cando interviñeron a autenticación ou unha alternativa.
O método público pertence a HttpURLConnection, mentres que o comportamento anterior é específico do xestor OpenJDK citado. Outro provedor ou implementación de JDK non ten por que expor os mesmos detalles previos á conexión.
Rexistre como se seleccionou o proxy e cando se leu o indicador. Para establecer o enderezo de orixe que ve o destino, conserve probas do lado do destino; un marcador booleano de proxy non ten campo para ese enderezo de saída.