Apache HttpAsyncClient 5: SOCKS nustatymai su IOReactorConfig
Prieš paleisdami HttpAsyncClient 5 nustatykite tarpinio serverio adresą reaktoriuje, o ne taikykite klasikinio kliento socket konfigūraciją.
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();Numatytas asinchronines užklausas siųskite šiuo klientu ir išsaugokite tikruosius paskirties URI. Klientą laikykite atvirą darbo metu ir uždarykite jam pasibaigus. Leidžiamoms užklausoms į viešus adresatus SOCKS tarpinių serverių sąrašas pateikia galimus hostus ir prievadus; pasirinkite reaktoriaus palaikomą SOCKS versiją.
Šį asinchroninį socket kelią valdo reaktorius. HTTP tarpinio serverio maršrutas su HttpHost arba klasikinės jungčių tvarkyklės SocketConfig yra kita sąsaja.
Jei palaikomas SOCKS autentifikavimas naudotojo vardu ir slaptažodžiu, reaktoriaus builderyje taip pat nustatykite setSocksProxyUsername ir setSocksProxyPassword. Konfigūraciją užbaikite prieš start, o ne keiskite bendrus nustatymus vykstant užklausoms.