HttpClient在项目中还是比较常见的,主要都是通过GET或POST请求第三方以获取响应结果。前段时间还了解到也有企业用它来做爬虫。下面我们就从两方面来一起学习HttpClient。
强占着不放
我们先来看一张因未释放连接导致的异常图。
我们再来看代码,代码很简单,用一个static修饰HttpClient的一个对象,也是用static的方式实例化(并发下,static实例化的对象是线程不安全的)。
1@Slf4j
2public class MyHttpClientTest{
3 private static HttpClient client;
4 static {
5 RequestConfig requestConfig = RequestConfig.custom()
6 .setConnectTimeout(5000)
7 .setConnectionRequestTimeout(3000)
8 .setSocketTimeout(5000