Tôi hiện đang cố gắng thực hiện nhiều yêu cầu HttpGet
cùng một lúc với CloseableHttpClient
.
Tôi googled về cách làm điều đó và câu trả lời là sử dụng PoolingHttpClientConnectionManager
.
PoolingHttpClientConnectionQuản lý: Cách thực hiện các yêu cầu Https?
Tại thời điểm này, tôi nhận điều này:
PoolingHttpClientConnectionManager cManager = new PoolingHttpClientConnectionManager();
CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(cManager)
.build();
Sau đó, tôi đã cố gắng yêu cầu HttpGet
-http://www.google.com
và tất cả mọi thứ làm việc tốt.
Sau đó, tôi đã tạo ra một truststore qua cmd và nhập khẩu giấy chứng nhận của trang web nhắm mục tiêu, thiết lập một SSLConnectionSocketFactory
với truststore của tôi và thiết lập SSLSocketFactory
của httpClient
:
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream inputStream = new FileInputStream(new File("myTrustStore.truststore"));
trustStore.load(inputStream, "nopassword".toCharArray());
inputStream.close();
SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(trustStore).build();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext,
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
PoolingHttpClientConnectionManager cManager = new PoolingHttpClientConnectionManager();
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(sslsf)
.setConnectionManager(cManager)
.build();
Nếu tôi cố gắng thực hiện một Https HttpGet
sau đó Tôi nhận được một ngoại lệ PKIX path building failed
.
Nếu tôi làm như vậy mà không cần .setConnectionManager(cManager)
mọi thứ hoạt động tốt.
Bất kỳ ai trong bạn có thể cho tôi biết cách tôi có thể làm việc này không? (Đừng lo lắng, tôi không tạo bất kỳ công cụ ddos nào)
Cảm ơn bạn trước!
P.S .: Tôi đang sử dụng HttpComponents 4.3.1
Làm thế nào để sử dụng PoolingHttpClientConnectionManager sau khi tạo này, mã của tôi đang làm việc nhưng tôi muốn biết kết nối hoạt động tổng hợp hoặc không – Labeo
bật đăng nhập khách hàng để kiểm tra thuê từ hồ bơi kết nối: http://hc.apache.org/httpcomponents-client-ga/logging.html –