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

Trimite cererile asincrone dorite prin acest client și păstrează URI-urile lor reale de destinație. Menține clientul pe durata lucrului și închide-l după. Pentru cereri permise către destinații publice, lista de proxy-uri SOCKS oferă candidați de gazdă și port; alege versiunea SOCKS acceptată de reactor.

Reactorul controlează această cale de socket asincronă. O rută proxy HTTP cu HttpHost sau SocketConfig al managerului de conexiuni clasic este o altă interfață.

Pentru autentificarea SOCKS cu utilizator și parolă, când este acceptată, setează și setSocksProxyUsername și setSocksProxyPassword pe builderul reactorului. Termină configurarea înainte de start, în loc să schimbi setări partajate în timp ce cererile rulează.

Articole similare