<dependency>
<groupId>org.apache.hc.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.1.1</version>
</dependency>
CloseableHttpClient httpClient = HttpClientBuilder.create()
.setMaxConnTotal(100)
.setMaxConnPerRoute(10)
.setDefaultRequestConfig(RequestConfig.custom()
.setConnectTimeout(5000)
.setSocketTimeout(5000)
.build())
.build();
HttpRequest request = HttpRequestBuilder.create()
.setUri("https://api.example.com/users")
.setMethod(Method.GET)
.build();
CloseableHttpResponse response = httpClient.execute(request);
try {
int statusCode = response.getCode();
Header[] headers = response.getHeaders();
String responseBody = EntityUtils.toString(response.getEntity());
} finally {
response.close();
}
httpClient.close();
HttpHost proxy = new HttpHost("proxy.example.com", 8080, "http");
RequestConfig config = RequestConfig.custom()
.setProxy(proxy)
.build();
CloseableHttpClient httpClient = HttpClientBuilder.create()
.setDefaultRequestConfig(config)
.build();