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

Senden Sie die vorgesehenen asynchronen Anfragen über diesen Client und behalten Sie ihre tatsächlichen Ziel-URIs bei. Halten Sie den Client für die Arbeitslast offen und schließen Sie ihn danach. Für erlaubte Anfragen an öffentliche Ziele liefert die SOCKS-Proxyliste mögliche Hosts und Ports; verwenden Sie eine vom Reactor unterstützte SOCKS-Version.

Der Reactor steuert diesen asynchronen Socket-Pfad. Eine HTTP-Proxyroute mit HttpHost oder SocketConfig des klassischen Verbindungsmanagers ist eine andere Schnittstelle.

Für unterstützte SOCKS-Authentifizierung mit Benutzername und Passwort setzen Sie auch setSocksProxyUsername und setSocksProxyPassword am Reactor-Builder. Schließen Sie die Konfiguration vor start ab, statt gemeinsame Einstellungen während laufender Anfragen zu ändern.

Ähnliche Artikel