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.
Reactor управлява този асинхронен socket път. HTTP прокси маршрут с HttpHost или SocketConfig на класическия мениджър на връзки е друг интерфейс.
За поддържано SOCKS удостоверяване с потребителско име и парола задайте и setSocksProxyUsername и setSocksProxyPassword в builder на reactor. Завършете конфигурацията преди start, вместо да променяте споделени настройки по време на заявките.