HttpURLConnection eksponerer usingProxy, men resultatet kræver forbindelsens implementering og tilstand ved siden af. Det er ikke en testanmodning.

I OpenJDK 25's HTTP-handler kan en eksplicit konfigureret HTTP-proxy få metoden til at returnere true, før netværksforbindelsen åbnes:

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 udfylde vært og port til en tilladt offentlig anmodning uden proxy-godkendelse. openConnection opretter objektet. Den etablerer ikke HTTP-forbindelsen blot ved at returnere objektet. Flaget i dette eksplicitte proxy-tilfælde beviser derfor ikke, at mellemleddet kan nås eller accepterer anmodningen.

Med automatisk valg kan rutevalget ske senere, når handleren forbinder. Et tidligt false-resultat bør ikke behandles som den endelige rutebeslutning. Efter forbindelsen skal tilstanden fortolkes sammen med en eventuel undtagelse eller respons, især når godkendelse eller fallback var involveret.

Den offentlige metode tilhører HttpURLConnection, mens adfærden ovenfor er specifik for den nævnte OpenJDK-handler. En anden udbyder eller JDK-implementering behøver ikke vise de samme detaljer før forbindelsen.

Notér, hvordan proxyen blev valgt, og hvornår flaget blev læst. For at fastslå kildeadressen, som destinationen ser, bevar bevis fra destinationssiden; en boolsk proxy-markør har intet felt til den udgangsadresse.

Relaterede artikler