Java URLConnection: nastavte proxy bez zmeny URL
Neoslovujte proxy ako webovy server; odovzdajte trasu ako samostatnu volbu pripojenia v Jave.
Ponechajte skutocnu URL adresu zdroja a odovzdajte proxy samostatne 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žite importy z java.net a nahraďte dokumentačnú adresu proxy svojou HTTP službou alebo kandidátom zo zoznamu HTTP proxy. Pripojenie stále žiada https://example.com/report; proxy je jeho trasou. Toto nastavenie nekonfiguruje ani prihlasovacie údaje, ani každú HTTP knižnicu v JVM.
Nesprávny kód, ktorý dosadí proxy do URL zdroja, môže namiesto správy získať rýchlu proxy stránku alebo chybu. Predtým, než rýchlu odpoveď vyložíte ako lepší výkon, porovnajte stav, obsah a skutočné cieľové miesto.
openConnection(Proxy) ponecháva cestu zdroja na cieľovom URI. Ponechajte toto hostname aj na overenie HTTPS certifikátu; zmena na sprostredkovateľa môže k chybe smerovania pridať nesúlad názvu.
Ak aplikácia vytvára iného HTTP klienta, použite tohto klienta alebo jeho rozhranie továrne pripojení. Proxy objekt URLConnection nedokáže nakonfigurovať cestu, ktorá toto API nikdy nevolá.