Сохраните настоящий 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.

Похожие статьи