HttpURLConnection.usingProxy() prima e dopo la connessione
Leggere usingProxy come stato dell'handler, incluso il comportamento con proxy esplicito di OpenJDK 25 prima che venga stabilita una connessione.
HttpURLConnection espone usingProxy, ma il risultato richiede accanto l'implementazione e lo stato della connessione. Non è una richiesta di prova.
Nell'handler HTTP di OpenJDK 25, un proxy HTTP configurato esplicitamente può far restituire true al metodo prima che venga aperta la connessione di rete:
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 dalla lista di proxy HTTP può fornire host e porta per una richiesta pubblica consentita senza autenticazione proxy. openConnection costruisce l'oggetto. Non stabilisce la connessione HTTP solo restituendo quell'oggetto. Il flag, in questo caso di proxy esplicito, non dimostra quindi che l'intermediario sia raggiungibile o accetti la richiesta.
Con la selezione automatica, la scelta della rotta può avvenire più tardi, quando l'handler si connette. Un risultato false precoce non va considerato la decisione finale di rotta. Dopo la connessione, interpretare lo stato insieme a qualsiasi eccezione o risposta, soprattutto se sono intervenuti autenticazione o ripiego.
Il metodo pubblico appartiene a HttpURLConnection, mentre il comportamento sopra è specifico dell'handler OpenJDK indicato. Un altro provider o un'altra implementazione JDK non deve esporre gli stessi dettagli pre-connessione.
Annotare come è stato scelto il proxy e quando è stato letto il flag. Per stabilire l'indirizzo di origine visto dalla destinazione, conservare prove dal lato destinazione; un marcatore booleano di proxy non ha alcun campo per quell'indirizzo di uscita.