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();

Kirim permintaan asinkron yang dimaksud melalui klien ini dan pertahankan URI tujuan aslinya. Pertahankan klien selama pekerjaan berlangsung, lalu tutup setelahnya. Untuk permintaan yang diizinkan ke tujuan publik, daftar proxy SOCKS menyediakan kandidat host dan port; cocokkan dengan versi SOCKS yang didukung reactor.

Reactor mengendalikan jalur socket asinkron ini. Rute proxy HTTP dengan HttpHost atau SocketConfig pada pengelola koneksi klasik adalah antarmuka lain.

Untuk autentikasi SOCKS dengan nama pengguna dan kata sandi, jika didukung, atur juga setSocksProxyUsername dan setSocksProxyPassword pada builder reactor. Selesaikan konfigurasi sebelum start, bukan dengan mengubah pengaturan bersama saat permintaan berjalan.

Artikel terkait