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 as solicitudes asíncronas previstas con este cliente e conserva os seus URI de destino reais. Mantén o cliente activo durante o traballo e péchao despois. Para solicitudes permitidas a destinos públicos, a lista de proxies SOCKS ofrece candidatos de host e porto; usa unha versión SOCKS compatible co reactor.

O reactor controla este camiño de sockets asíncronos. Unha ruta de proxy HTTP con HttpHost ou o SocketConfig do xestor de conexións clásico é outra interface.

Para autenticación SOCKS con usuario e contrasinal, cando se admita, configura tamén setSocksProxyUsername e setSocksProxyPassword no builder do reactor. Remata a configuración antes de start, en lugar de cambiar axustes compartidos mentres se executan solicitudes.

Artigos relacionados