Apache HttpAsyncClient 5: налаштування SOCKS через IOReactorConfig
Задайте адресу проксі в reactor до запуску HttpAsyncClient 5, а не через socket-конфігурацію класичного клієнта.
import java.net.InetSocketAddress;
import org.apache.hc.core5.reactor.IOReactorConfig;
import org.apache.hc.client5.http.impl.async.HttpAsyncClients;
var reactor = IOReactorConfig.custom()
.setSocksProxyAddress(new InetSocketAddress("proxy.example", 1080))
.build();
var client = HttpAsyncClients.custom()
.setIOReactorConfig(reactor)
.build();
client.start();Надсилайте потрібні асинхронні запити цим клієнтом, зберігаючи їхні справжні цільові URI. Тримайте клієнт відкритим під час роботи та закрийте після її завершення. Для дозволених запитів до публічних адресатів список SOCKS-проксі пропонує хости й порти; обирайте версію SOCKS, яку підтримує reactor.
Цей асинхронний socket-шлях контролює reactor. Маршрут HTTP-проксі з HttpHost або SocketConfig класичного менеджера з’єднань — інший інтерфейс.
Для підтримуваної SOCKS-автентифікації за ім’ям користувача та паролем задайте також setSocksProxyUsername і setSocksProxyPassword у builder реактора. Завершіть налаштування до start, а не змінюйте спільні параметри під час виконання запитів.