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, а не змінюйте спільні параметри під час виконання запитів.

Схожі статті