HttpClient4

HTTP Client4.0的ThreadSafeClientConnManager实现了HTTP连接的池化管理,其管理连接的基本单位是Route(路由),每个路由上都会维护一定数量的HTTP连接。这里的Route的概念可以理解为客户端机器到目标机器的一条线路,例如使用HttpClient的实现来分别请求 www.163.com 的资源和 www.sina.com 的资源就会产生两个route。缺省条件下对于每个Route,HttpClient仅维护2个连接,总数不超过20个连接,显然对于大多数应用来讲,都是不够用的,可以通过设置HTTP参数进行调整。

[java] view plaincopy 
  1. HttpParams params = new BasicHttpParams();
  2. //将每个路由的最大连接数增加到200
  3. ConnManagerParams.setMaxTotalConnections(params,200);
  4. // 将每个路由的默认连接数设置为20
  5. ConnPerRouteBean connPerRoute = new ConnPerRouteBean(20);
  6. // 设置某一个IP的最大连接数
  7. HttpHost localhost = new HttpHost("locahost", 80);
  8. connPerRoute.setMaxForRoute(new HttpRoute(localhost), 50);
  9. ConnManagerParams.setMaxConnectionsPerRoute(params, connPerRoute);
  10. SchemeRegistry schemeRegistry = new SchemeRegistry();
  11. schemeRegistry.register(
  12. new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
  13. schemeRegistry.register(
  14. new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
  15. ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
  16. HttpClient httpClient = new DefaultHttpClient(cm, params);

可以配置的HTTP参数有:
1)  http.conn-manager.timeout 当某一线程向连接池请求分配线程时,如果连接池已经没有可以分配的连接时,该线程将会被阻塞,直至http.conn-manager.timeout超时,抛出ConnectionPoolTimeoutException。
2)  http.conn-manager.max-per-route 每个路由的最大连接数;
3)  http.conn-manager.max-total 总的连接数;

HttpClient4相关推荐

  1. HttpClient4.5.2调用示例(转载+原创)

    操作HttpClient时的一个工具类,使用是HttpClient4.5.2 package com.xxxx.charactercheck.utils;import java.io.File; im ...

  2. apache httpclient4 设置超时时间

    2019独角兽企业重金招聘Python工程师标准>>> apache httpclient4 设置超时时间 旧的方法(已被禁用) CloseableHttpClient httpcl ...

  3. HttpClient4.5 简单入门实例(一)

    一.所需要的jar包 httpclient-4.5.jar httpcore-4.4.1.jar httpmime-4.5.jar 二.实例 package com.gblfy.test;import ...

  4. HttpClient4.x之Post请求示例

    Post操作相对于Get操作变化并不是很大,我们只是需要将原来的HttpGet改成HttpPost.不了解获取提交操作的可以参看我的另一篇博客HttpClient4.x之获取请求示例  .但是如果需要 ...

  5. Java使用HTTPClient4.3开发的公众平台消息模板的推送功能

    代码引用,参考文章:http://www.cnblogs.com/feiyun126/p/4778556.html,表示感谢! 1 package com.yuanchuangyun.cyb.mana ...

  6. HttpClient4.5.2 使用cookie保持会话——连接池的实现结束篇(4)

    2019独角兽企业重金招聘Python工程师标准>>> 继上篇HttpClient4.5.2 使用cookie保持会话--如何传递多个cookie(3)之后,本篇我们来介绍如何实现h ...

  7. HttpClient4文件上传

    2019独角兽企业重金招聘Python工程师标准>>> httpclient上传文件实际上就是模拟一个http的表单提交请求. Java代码   package test.httpc ...

  8. HTTP摘要认证原理以及HttpClient4.3实现

    基本认证便捷灵活,但极不安全.用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改.安全使用基本认证的唯一方式就是将其与 SSL 配合使用. 摘要认证是另一种HTTP认证协议,它试图修 ...

  9. HttpClient4 TIME_WAIT和CLOSE_WAIT

    最近,公司的接口服务器(客户端,向外发送数据)频繁出现了connect timeout 以及readtime out 的情况,经过运维平台检测,并没有网络延时的情况.于是,开始怀疑连接池出了问题. 使 ...

  10. HttpClient4.4.1模拟登录知乎

    HttpClient4.4.1模拟登录知乎 一,登录要Post的表单数据是什么 这部分可以使用Wireshark工具来抓包就可以了,发现需要以下数据: "_xsrf" = xxxx ...

最新文章

  1. 华人首位!许晨阳获2021年美国数学会代数领域最高奖
  2. 腾讯技术课|基于Elastic Stack 搭建日志分析平台
  3. Java面试必问JVM调优,那.NET5呢?
  4. 【深度学习】TensorFlow之卷积神经网络
  5. c语言第一章节测试,计算机二级C语言教程章节测试:字符串
  6. OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
  7. 太极计算机 审计厅,湖北省审计厅举办2010年春节联欢会
  8. 36. Web 主机托管
  9. Codeforces Round #187 (Div. 2) D
  10. 勤哲excel服务器2017试用
  11. java面试题及答案2020 阿里(八)
  12. PHP搭建IDC网站,SWAPIDC系统完整移除云平台修改版 个人搭建idc空间商网站平台
  13. CVPR'22 | 基于像素差异学习的视频高光检测算法及在视频广告中的应用
  14. bongo cat mver手机版|键盘猫手机版
  15. node生成唯一设备id(node-machine-id)
  16. 【JavaEE】简单了解操作系统、进程内存管理
  17. C/C++ Linux 后台服务器开发高级架构师学习知识路线总结
  18. Origin ##外推法作图求斜率##两组数据绘图到同一个坐标系
  19. 青云、UCloud、阿里云、腾讯云等分别都有哪些特点?
  20. 远程桌面协议 (RDP)

热门文章

  1. Windows 10系统中修改用户名的方法
  2. labview温度采集系统(数据保存到excel)
  3. 单片机c语言数字频率计的课程设计,课程设计基于单片机的简易数字频率计报告.doc...
  4. xvid编解码器安装
  5. 一文了解智能门锁的功能选购和安全性
  6. 频率与时间,电容,电感,电阻,计算机,分贝 单位换算
  7. 移远百科 | LTE-A关键技术分析
  8. 高一计算机课程教案,高一信息技术《信息及其特征》教案
  9. matlab腔体滤波器,腔体滤波器基础知识
  10. 什么是TCP/IP协议