Java URLConnection: postavljanje proxyja bez mijenjanja URL-a
Ne adresirajte proxy kao web server, vec proslijedite rutu kao zasebnu opciju Java veze.
Zadržite stvarni URL resursa i zasebno proslijedite proxy objektu URLConnection:
URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);
Koristite uvoze iz java.net i zamijenite dokumentacijsku adresu proxyja svojim HTTP servisom ili kandidatom s popisa HTTP proxyja. Veza i dalje traži https://example.com/report; proxy je njezina ruta. Ova postavka ne konfigurira ni vjerodajnice ni svaku HTTP biblioteku u JVM-u.
Pogrešan kod koji proxy ubaci u URL resursa može vratiti brzu proxy stranicu ili grešku umjesto izvještaja. Usporedite status, sadržaj i stvarno odredište prije nego brz odgovor protumačite kao bolje performanse.
openConnection(Proxy) ostavlja putanju resursa na odredišnom URI-ju. Zadržite to ime hosta i za provjeru HTTPS certifikata; promjena na posrednika može dodati nepodudarnost imena grešci usmjeravanja.
Ako aplikacija gradi drugi HTTP klijent, koristite taj klijent ili njegovo sučelje tvornice veza. Proxy objekt URLConnection ne može konfigurirati putanju koja nikad ne poziva taj API.