HttpURLConnection izlaže usingProxy, ali rezultat traži implementaciju i stanje veze uz sebe. To nije testni zahtjev.

U HTTP rukovatelju OpenJDK 25 eksplicitno konfiguriran HTTP proxy može natjerati metodu da vrati true prije otvaranja mrežne veze:

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

HTTP kandidat s popisa HTTP proxyja može popuniti host i port za dopušteni javni zahtjev bez autentikacije proxyja. openConnection gradi objekt. On ne uspostavlja HTTP vezu samim vraćanjem tog objekta. Zato zastavica u ovom slučaju eksplicitnog proxyja ne dokazuje da je posrednik dostupan ili da prihvaća zahtjev.

Uz automatski odabir, odabir rute može se dogoditi kasnije dok se rukovatelj povezuje. Rani rezultat false ne treba smatrati konačnom odlukom o ruti. Nakon povezivanja tumačite stanje zajedno s bilo kojom iznimkom ili odgovorom, posebno kad su bili uključeni autentikacija ili rezervni put.

Javna metoda pripada HttpURLConnectionu, dok je gore opisano ponašanje specifično za navedeni OpenJDK rukovatelj. Drugi pružatelj ili implementacija JDK-a ne moraju izlagati iste pojedinosti prije povezivanja.

Zabilježite kako je proxy odabran i kada je zastavica pročitana. Da biste utvrdili izvornu adresu koju vidi odredište, sačuvajte dokaze s odredišne strane; boolean oznaka proxyja nema polje za tu izlaznu adresu.

Povezani članci