Apache HttpAsyncClient 5: configurar SOCKS con IOReactorConfig
Configura la dirección del proxy en el reactor antes de iniciar HttpAsyncClient 5, en lugar de aplicar la configuración de sockets del cliente clásico.
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.