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();

Envía las solicitudes asíncronas previstas con este cliente y conserva sus URI de destino reales. Mantén el cliente activo durante el trabajo y ciérralo al terminar. Para solicitudes autorizadas a destinos públicos, la lista de proxies SOCKS ofrece candidatos de host y puerto; usa una versión de SOCKS compatible con el reactor.

El reactor controla esta ruta de sockets asíncronos. Una ruta de proxy HTTP con HttpHost o el SocketConfig del gestor de conexiones clásico es otra interfaz.

Para la autenticación SOCKS con usuario y contraseña, si está admitida, configura también setSocksProxyUsername y setSocksProxyPassword en el builder del reactor. Termina la configuración antes de start, en vez de cambiar ajustes compartidos mientras se ejecutan las solicitudes.

Artículos relacionados