Apache HttpAsyncClient 5: SOCKS-проксі праз IOReactorConfig
Задайце адрас проксі ў reactor да запуску HttpAsyncClient 5, а не ўжывайце socket-канфігурацыю класічнага кліента.
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();Адпраўляйце патрэбныя асінхронныя запыты гэтым кліентам, захоўваючы сапраўдныя мэтавыя URI. Трымайце кліент адкрытым падчас працы і закрывайце пасля яе. Для дазволеных запытаў да публічных адрасатаў спіс SOCKS-проксі дае магчымыя вузлы і парты; абірайце версію SOCKS, якую падтрымлівае reactor.
Гэтым асінхронным socket-шляхам кіруе reactor. HTTP-маршрут проксі з HttpHost ці SocketConfig класічнага кіраўніка злучэнняў — іншы інтэрфейс.
Для аўтэнтыфікацыі SOCKS з імем карыстальніка і паролем, калі яна падтрымліваецца, задайце таксама setSocksProxyUsername і setSocksProxyPassword у builder рэактара. Скончыце канфігурацыю да start, а не змяняйце агульныя налады падчас запытаў.