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.