HttpURLConnection.usingProxy() før og etter tilkobling
Les usingProxy som handler-tilstand, inkludert OpenJDK 25 sin oppførsel med eksplisitt proxy før en tilkobling etableres.
HttpURLConnection eksponerer usingProxy, men resultatet trenger implementasjonen og tilstanden til tilkoblingen ved siden av. Dette er ikke en testforespørsel.
I HTTP-handleren til OpenJDK 25 kan en eksplisitt konfigurert HTTP-proxy få metoden til å returnere true før nettverkstilkoblingen åpnes:
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 fra HTTP-proxylisten kan fylle ut vert og port for en tillatt offentlig forespørsel uten proxy-autentisering. openConnection bygger objektet. Den etablerer ikke HTTP-tilkoblingen bare ved å returnere objektet. Flagget i dette tilfellet med eksplisitt proxy beviser derfor ikke at mellomleddet er tilgjengelig eller godtar forespørselen.
Med automatisk valg kan rutevalget skje senere, når handleren kobler til. Et tidlig false-resultat bør ikke behandles som den endelige rutebeslutningen. Etter tilkobling bør tilstanden tolkes sammen med en eventuell unntak eller respons, særlig når autentisering eller fallback var involvert.
Den offentlige metoden tilhører HttpURLConnection, mens oppførselen ovenfor er spesifikk for den navngitte OpenJDK-handleren. En annen leverandør eller JDK-implementasjon trenger ikke vise de samme detaljene før tilkobling.
Noter hvordan proxyen ble valgt og når flagget ble lest. For å fastslå kildeadressen som målet ser, ta vare på bevis fra målsiden; en boolsk proxy-markør har ikke noe felt for den utgangsadressen.