博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpClient总是无限卡死
阅读量:6517 次
发布时间:2019-06-24

本文共 1687 字,大约阅读时间需要 5 分钟。

hot3.png

HttpClient总是无限卡死 博客分类: 搜索引擎,爬虫 java
public String getContent(String url, int timeOut) {        HttpClientBuilder httpBuilder = HttpClientBuilder.create();        if (timeOut > 0) {            RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(timeOut).setConnectTimeout(timeOut).setSocketTimeout(timeOut).build();            httpBuilder.setDefaultRequestConfig(requestConfig);        }         CloseableHttpClient closeableHttp = httpBuilder.build();        HttpGet request = new HttpGet(url);        CloseableHttpResponse response = null;        try {            response = closeableHttp.execute(request);             HttpEntity entity = response.getEntity();             return entity == null ? null : EntityUtils.toString(entity, CharacterSet.UTF8);        } catch (Exception e) {            e.printStackTrace();            return null;        } finally {            try {                if (request != null) {                    request.abort();                }                 if (response != null) {                    response.close();                }                 closeableHttp.close();            } catch (IOException e) {                e.printStackTrace();            }        }    }

   

 

   

   EntityUtils.consume(entity);

response.close();

 

在HttpClient 4.0+的版本,正确的关闭连接如下:

 

  1. EntityUtils.consumeQuietly(response.getEntity());  

记得这个最好放在finally块中。

 

 

在HttpClient 3.0+版本中,正确的关闭如下:

 

  1. private static void close(HttpMethod method) {  
  2.     if (method != null) {  
  3.         method.releaseConnection();  
  4.     }  
  5. }  

 

https://www.oschina.net/question/2298861_240814?sort=default&p=1#answers

http://blog.csdn.net/wxyfighting/article/details/9075051

 

 

转载于:https://my.oschina.net/xiaominmin/blog/1598790

你可能感兴趣的文章
洛谷 P3369 BZOJ 3224 【模板】普通平衡树(Treap/SBT) ...
查看>>
2019年2月值得一读的10本技术书籍(Python、算法、设计、历史等书籍)! ...
查看>>
LinkedHashMap 详解
查看>>
捷信达酒店管理系统使用说明
查看>>
11月19日云栖精选夜读 | 数据库面试题大全
查看>>
Android如何创建自己的第三方库
查看>>
Mac下测试Developerkit开发版烧录出错的解决办法
查看>>
使用java api 创建excel内容并发送邮件
查看>>
Unity3d删除无用的美术资源轻量级插件
查看>>
2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
查看>>
Linux基础命令---umask
查看>>
Nginx 性能优化(学习笔记二十五)
查看>>
Strategy for Python Challenge(01)
查看>>
Spring事务异常回滚,try catch 捕获异常不回滚
查看>>
钢管识别项目1
查看>>
iOS的@try、@catch()
查看>>
中科院院士谭铁牛:人工智能发展需要理性务实
查看>>
真正的开源与人造开源之间的斗争愈演愈烈
查看>>
Coding and Paper Letter(十七)
查看>>
Visual Studio 的码云扩展 V1.0.85 发布
查看>>