Apache HttpAsyncClient 5: SOCKS-Proxy mit IOReactorConfig einstellen
Setzen Sie die Proxy-Adresse am Reactor vor dem Start von HttpAsyncClient 5, statt die Socket-Konfiguration des klassischen Clients anzuwenden.
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.