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

Envoyez les requêtes asynchrones prévues avec ce client, en conservant leurs véritables URI de destination. Gardez le client ouvert pendant le travail et fermez-le ensuite. Pour les requêtes autorisées vers des destinations publiques, la liste de proxies SOCKS fournit des hôtes et ports candidats ; choisissez une version de SOCKS prise en charge par le reactor.

Le reactor contrôle ce chemin de socket asynchrone. Une route proxy HTTP avec HttpHost ou le SocketConfig du gestionnaire de connexions classique relève d’une autre interface.

Pour l’authentification SOCKS par nom d’utilisateur et mot de passe lorsqu’elle est prise en charge, définissez aussi setSocksProxyUsername et setSocksProxyPassword sur le builder du reactor. Terminez la configuration avant start, plutôt que de modifier des paramètres partagés pendant les requêtes.

Articles similaires