Java URLConnection: nastavení proxy bez změny URL
Vyhněte se adresování proxy jako webového serveru a předejte trasu jako samostatnou volbu připojení v Javě.
Zachovejte skutečnou URL prostředku a předejte proxy samostatně do 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);Použijte importy java.net a dokumentační adresu proxy nahraďte svou HTTP službou nebo kandidátem ze seznamu HTTP proxy. Spojení stále žádá https://example.com/report; proxy je jeho trasa. Toto nastavení nekonfiguruje ani přihlašovací údaje, ani všechny HTTP knihovny v JVM.
Chybný kód, který dosadí proxy do URL prostředku, může místo zprávy získat rychlou webovou stránku proxy nebo chybu. Než rychlou odpověď vyložíte jako lepší výkon, porovnejte stav, obsah a skutečný cíl.
openConnection(Proxy) ponechává cestu prostředku na cílovém URI. Ponechte toto hostname i pro ověření HTTPS certifikátu; jeho změna na prostředníka může k chybě směrování přidat nesoulad názvu.
Pokud aplikace vytváří jiného HTTP klienta, použijte tohoto klienta nebo jeho rozhraní connection factory. Objekt proxy pro URLConnection nemůže nastavit cestu, která toto API nikdy nevolá.