Apache HttpAsyncClient 5: ustawienia SOCKS przez IOReactorConfig
Ustaw adres proxy w reaktorze przed uruchomieniem HttpAsyncClient 5, zamiast stosować konfigurację socketów klienta klasycznego.
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();Wysyłaj zamierzone żądania asynchroniczne przez tego klienta, zachowując ich rzeczywiste URI docelowe. Utrzymuj klienta podczas pracy i zamknij go po jej zakończeniu. Dla dozwolonych żądań do publicznych celów lista proxy SOCKS dostarcza kandydatów hosta i portu; wybierz wersję SOCKS obsługiwaną przez reaktor.
Tą asynchroniczną ścieżką socketów steruje reaktor. Trasa proxy HTTP z HttpHost lub SocketConfig klasycznego menedżera połączeń jest innym interfejsem.
Dla obsługiwanego uwierzytelniania SOCKS nazwą użytkownika i hasłem ustaw też setSocksProxyUsername oraz setSocksProxyPassword w builderze reaktora. Zakończ konfigurację przed start, zamiast zmieniać współdzielone ustawienia w trakcie żądań.