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

Gửi các yêu cầu bất đồng bộ dự định qua client này và giữ nguyên URI đích thực. Giữ client hoạt động suốt công việc rồi đóng sau đó. Với yêu cầu được phép tới đích công khai, danh sách proxy SOCKS cung cấp ứng viên host và cổng; chọn phiên bản SOCKS mà reactor hỗ trợ.

Reactor điều khiển đường socket bất đồng bộ này. Tuyến proxy HTTP dùng HttpHost hoặc SocketConfig của trình quản lý kết nối cổ điển là một giao diện khác.

Với xác thực SOCKS bằng tên người dùng và mật khẩu khi được hỗ trợ, đặt thêm setSocksProxyUsername và setSocksProxyPassword trên builder của reactor. Hoàn tất cấu hình trước start, thay vì đổi thiết lập dùng chung trong lúc các yêu cầu đang chạy.

Bài viết liên quan