HttpURLConnection eksponerer usingProxy, men resultatet treng implementasjonen og tilstanden til tilkoplinga ved sida av. Dette er ikkje ein testførespurnad.

I HTTP-handteraren til OpenJDK 25 kan ein eksplisitt konfigurert HTTP-proxy få metoden til å returnere true før nettverkstilkoplinga blir opna:

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();

Ein HTTP-kandidat frå HTTP-proxylista kan fylla ut vert og port for ein tillaten offentleg førespurnad utan proxy-autentisering. openConnection byggjer objektet. Det opprettar ikkje HTTP-tilkoplinga berre ved å returnere objektet. Flagget i dette tilfellet med eksplisitt proxy provar derfor ikkje at mellomleddet er tilgjengeleg eller godtek førespurnaden.

Med automatisk val kan rutevalet skje seinare, når handteraren koplar til. Eit tidleg false-resultat bør ikkje behandlast som den endelege ruteavgjerda. Etter tilkopling bør tilstanden tolkast saman med ein eventuell unntak eller respons, særleg når autentisering eller reserveveg var involvert.

Den offentlege metoden høyrer til HttpURLConnection, medan oppførselen ovanfor er spesifikk for den namngjetne OpenJDK-handteraren. Ein annan leverandør eller JDK-implementasjon treng ikkje vise dei same detaljane før tilkopling.

Noter korleis proxyen vart vald og når flagget vart lese. For å fastslå kjeldeadressa som målet ser, ta vare på prov frå målssida; ein boolsk proxy-markør har ikkje noko felt for den utgangsadressa.

Relaterte artiklar