Java URLConnection: задайце проксі, не змяняючы URL
Пазбягайце звароту да проксі як да вэб-сервера і перадавайце маршрут як асобную опцыю злучэння Java.
Захавайце сапраўдны URL рэсурсу і перадайце проксі асобна ў 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);Выкарыстоўвайце імпарты java.net і заменіце адрас проксі з дакументацыі на вашу службу HTTP або кандыдата са спісу HTTP-проксі. Злучэнне па-ранейшаму запытвае https://example.com/report; проксі — гэта яго маршрут. Гэтая налада не задае ні ўліковыя даныя, ні ўсе бібліятэкі HTTP у JVM.
Няправільны код, які падстаўляе проксі ў URL рэсурсу, можа атрымаць хуткую вэб-старонку проксі або памылку замест справаздачы. Параўнайце стан, змест і фактычны пункт прызначэння, перш чым лічыць гэты хуткі адказ лепшай прадукцыйнасцю.
openConnection(Proxy) пакідае шлях рэсурсу на URI прызначэння. Захавайце гэтае імя хоста таксама для праверкі сертыфіката HTTPS; змена яго на пасярэдніка можа дадаць неадпаведнасць імёнаў да памылкі маршрутызацыі.
Калі праграма стварае іншы HTTP-кліент, выкарыстоўвайце гэты кліент або яго інтэрфейс фабрыкі злучэнняў. Аб'ект проксі URLConnection не можа наладзіць шлях, які ніколі не выклікае гэты API.