HttpURLConnection.usingProxy() före och efter anslutning
Läs usingProxy som handläggarens tillstånd, inklusive OpenJDK 25:s beteende med explicit proxy innan en anslutning upprättas.
HttpURLConnection exponerar usingProxy, men resultatet behöver anslutningens implementation och tillstånd bredvid sig. Det är inte en testbegäran.
I OpenJDK 25:s HTTP-hanterare kan en uttryckligen konfigurerad HTTP-proxy få metoden att returnera true innan nätverksanslutningen öppnas:
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();En HTTP-kandidat från HTTP-proxylistan kan fylla i värd och port för en tillåten offentlig begäran utan proxyautentisering. openConnection bygger objektet. Den upprättar inte HTTP-anslutningen bara genom att returnera objektet. Flaggan i detta fall med explicit proxy bevisar därför inte att mellanhanden är nåbar eller accepterar begäran.
Med automatiskt val kan vägvalet ske senare, när hanteraren ansluter. Ett tidigt false-resultat bör inte behandlas som det slutliga vägbeslutet. Efter anslutning bör tillståndet tolkas tillsammans med eventuellt undantag eller svar, särskilt när autentisering eller återfall var inblandat.
Den offentliga metoden tillhör HttpURLConnection, medan beteendet ovan är specifikt för den namngivna OpenJDK-hanteraren. En annan leverantör eller JDK-implementation behöver inte visa samma detaljer före anslutning.
Notera hur proxyn valdes och när flaggan lästes. För att fastställa källadressen som målet ser, bevara bevis från målsidan; en boolesk proxy-markör har inget fält för den utgående adressen.