Cài đặt SOCKS của Apache HttpClient 5.5 trên trình quản lý kết nối
Cấu hình chính sách socket của pool bằng SocketConfig thay vì tuyến proxy HTTP hoặc nhà máy socket tùy chỉnh.
Apache HttpClient 5.5 bao gồm một đường cấu hình SOCKS trong phần cài đặt socket của trình quản lý kết nối. Ví dụ được duy trì của nó dùng setSocksProxyAddress:
InetSocketAddress socks =
new InetSocketAddress("proxy.example.net", 1080);
PoolingHttpClientConnectionManager manager =
PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultSocketConfig(
SocketConfig.custom()
.setSocksProxyAddress(socks)
.build()
)
.build();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(manager)
.build();
Đoạn này dùng các gói org.apache.hc của HttpClient 5 và SocketConfig của HttpCore. Các yêu cầu thực hiện bằng ứng dụng khách này dùng pool đã cấu hình ở trên. Đóng ứng dụng khách khi phạm vi sở hữu của ứng dụng kết thúc.
Đặt URL thực tế của trang web lên yêu cầu như thường lệ. Với các yêu cầu được phép tới trang công khai không cần xác thực proxy, danh sách proxy SOCKS cung cấp các địa chỉ ứng viên; hãy chọn phiên bản SOCKS mà môi trường chạy thực tế hỗ trợ. Địa chỉ SOCKS cấu hình phương thức truyền dùng để tiếp cận nó; đó không phải tuyến proxy chuyển tiếp HTTP được cung cấp dưới dạng HttpHost.
Đây là các cài đặt socket mặc định cho trình quản lý này. Ứng dụng dùng bộ phân giải SocketConfig theo từng tuyến nên áp dụng cài đặt SOCKS mong muốn thông qua chính sách đó. Ví dụ giữ nguyên chính sách DNS đích thông thường của trình quản lý kết nối; việc phân giải tên từ xa cần một cấu hình được xác minh riêng.