Змусьте 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 мають різні інтерфейси налаштування. Старий рецепт класу не пояснить клієнт, який ніколи не використовує це покоління.