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

Inviate le richieste asincrone previste con questo client, conservando i loro URI di destinazione effettivi. Mantenete il client attivo durante il lavoro e chiudetelo al termine. Per richieste consentite verso destinazioni pubbliche, l’elenco di proxy SOCKS offre host e porte candidati; scegliete una versione SOCKS supportata dal reactor.

Il reactor controlla questo percorso socket asincrono. Una rotta proxy HTTP con HttpHost o il SocketConfig del gestore di connessioni classico è un’altra interfaccia.

Per l’autenticazione SOCKS con nome utente e password, quando supportata, impostate anche setSocksProxyUsername e setSocksProxyPassword sul builder del reactor. Completate la configurazione prima di start, anziché modificare impostazioni condivise mentre le richieste sono in corso.

Articoli correlati