Apache HttpAsyncClient 5: nastavení SOCKS přes IOReactorConfig
Nastavte adresu proxy v reaktoru před spuštěním HttpAsyncClient 5 místo použití socketové konfigurace klasického klienta.
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();Zamýšlené asynchronní požadavky posílejte tímto klientem a ponechte jejich skutečné cílové URI. Klienta zachovejte po dobu práce a potom jej zavřete. Pro povolené požadavky na veřejné cíle nabízí seznam SOCKS proxy možné hostitele a porty; zvolte verzi SOCKS podporovanou reaktorem.
Tuto asynchronní socketovou cestu řídí reaktor. HTTP proxy trasa s HttpHost nebo SocketConfig klasického správce spojení je jiné rozhraní.
Pro podporovanou SOCKS autentizaci uživatelským jménem a heslem nastavte na builderu reaktoru také setSocksProxyUsername a setSocksProxyPassword. Konfiguraci dokončete před start, nikoli změnami sdílených nastavení za běhu požadavků.