Заставьте Apache HttpClient 5 читать прокси-настройки JVM
Включите системные свойства в клиенте Apache HttpClient 5 и проверьте явные переопределения планировщика маршрутов.
Для классического API Apache HttpClient 5 включите системные свойства при создании клиента:
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;
try (CloseableHttpClient client = HttpClients.custom()
.useSystemProperties()
.build()) {
// Execute the application's HTTP work with this client.
}Передайте нужные аргументы запуска, например -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080, используя реальную конечную точку. Список HTTP-прокси предлагает публичные кандидаты, когда этот маршрут разрешён. Укажите свойства HTTPS и обхода для соответствующих назначений. Одно лишь задание свойства JVM не доказывает, что этот клиент его использует.
Справочник по построителю перечисляет свойства, которые учитывают его компоненты по умолчанию. Явные планировщики маршрутов или другие предоставленные компоненты могут изменить это поведение.
Выполняйте запросы через этот настроенный экземпляр. Зависимость, создающая другой клиент, нуждается в собственной поддерживаемой фабрике или вводе прокси; неиспользуемый клиент рядом ничего не меняет.
Определите библиотеку и импорты в неудачной операции. Commons HttpClient 3, Apache HttpClient 4, HttpClient 5 и java.net.http.HttpClient Java имеют разные интерфейсы настройки. Старый рецепт класса не объяснит клиент, который никогда не использует это поколение.