httpclient3与httpclient4不同版本使用方法[通俗易懂]

httpclient3与httpclient4不同版本使用方法[通俗易懂]httpComponentsHttpClient4.x获取httpClientCloseableHttpClienthttpClient=HttpClients.custom()   .setMaxConnTotal(config.maxConnTotal)   .setMaxConnPerRoute(config.maxConnPerRoute)   .setDef…

大家好,又见面了,我是你们的朋友全栈君。

httpComponents HttpClient4.x

获取httpClient

CloseableHttpClient httpClient = HttpClients.custom()
    .setMaxConnTotal(config.maxConnTotal)
    .setMaxConnPerRoute(config.maxConnPerRoute)
    .setDefaultRequestConfig(requestConfig);

或者    

PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
    connectionManager.setMaxTotal(maxTotal);
    connectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute);
    //可用空闲连接过期时间,重用空闲连接时会先检查是否空闲时间超过这个时间,如果超过,释放socket重新建
    connectionManager.setValidateAfterInactivity(validateAfterInactivity);

CloseableHttpClient httpClient = HttpClients.custom()
    .setConnectionManager(connectionManager)
    .setRetryHandler(new DefaultHttpRequestRetryHandler())
    .build();

获取httpRequestBase

RequestConfig requestConfig = RequestConfig.custom()
    .setConnectionRequestTimeout(config.connReqTimeout)
    .setConnectTimeout(config.connTimeout)
    .setSocketTimeout(config.socketTimeout)
    .build();
    
HttpRequestBase httpRequestBase = new HttpGet/HttpPost/HttpDelete(url);
httpRequestBase.setConfig(requestConfig);
httpRequestBase.setxxx();

调用

CloseableHttpResponse response = httpClient.execute(httpRequestBase);

关闭

response.close();

HttpClient HttpClient3.x

获取HttpClient

MultiThreadedHttpConnectionManager httpConnectionManager = new MultiThreadedHttpConnectionManager();
    httpConnectionManager.getParams().setDefaultMaxConnectionsPerHost(maxConnectionsPerHost);
    httpConnectionManager.getParams().setMaxTotalConnections(maxTotalConnections);
    //4.x版本提供connectionManager.setValidateAfterInactivity(validateAfterInactivity);
    httpConnectionManager.getParams().setStaleCheckingEnabled(false/true);
    httpConnectionManager.getParams().setLinger(linger);
    httpConnectionManager.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
    httpConnectionManager.getParams().setConnectionTimeout(connectionTimeout);
    httpConnectionManager.getParams().setSoTimeout(soTimeout);

HttpClient httpClient = new HttpClient(httpConnectionManager);

获取method

EntityEnclosingMethod method = new PostMethod(url);
method.setxxx();

调用

client.executeMethod(method);

关闭

method.releaseConnection();

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163246.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webservice发送短信本地部署可以但是服务器部署发送短信息中文乱码

    webservice发送短信本地部署可以但是服务器部署发送短信息中文乱码

    2020年11月9日
    323
  • python 字典最外层使用_python字典底层实现

    python 字典最外层使用_python字典底层实现前言问题1:python中的字典到底是有序还是无序问题2:python中字典的效率如何python字典底层原理在Python3.5以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插

    2022年7月31日
    6
  • uwsgi配置文件详解_curl_multi_init

    uwsgi配置文件详解_curl_multi_initmaster=true#启动主进程,来管理其他进程,其它的uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程。chdir=/web/www/mysite#在app加载前切换到当前目录,指定运行目录module=mysite.wsgi#加载一个WSGI模块,这里加载mysite/wsgi.py这个模块py…

    2025年8月27日
    7
  • LTE学习笔记:频带、信道带宽和频点号EARFCN「建议收藏」

    LTE学习笔记:频带、信道带宽和频点号EARFCN「建议收藏」转自:https://blog.csdn.net/m_052148/article/details/513222601.频带(Band)所谓频带,指代的是一个频率的范围或者频谱的宽度,即无线解码器的最低工作频率至最高工作频率之间的范围,单位是Hz。为了方便起见,在LTE中,使用数字1-43来表示不同的频带(36101-V10.21.0版本协议),从而指代不同的频率范围。协议36101规…

    2022年10月11日
    3
  • 详解CALayer的anchorPoint和position[通俗易懂]

    详解CALayer的anchorPoint和position[通俗易懂]CALayerCALayer属于QuartzCore框架,用于在iOS和MacOS系统上可见元素的绘制,和属于UIKit框架的UIView的关系是,UIView默认会创建一个CALayer属性,用于图象的绘制和显示.当然,CALayer也可以单独创建.区别UIView可以处理用户交互事件,而CALayer不行.CALayer具备以下UIView没有的功能:阴影,圆角,边框 …

    2022年10月8日
    5
  • RAID10磁盘阵列损坏修复操作

    RAID10磁盘阵列损坏修复操作-f模拟硬盘损坏mdadm/dev/md0-f/dev/sdb1、查看损坏磁盘阵列的情况2、将损坏的硬盘设备移除3、插上新的硬盘(在真机上操作,虚拟机之间将损坏的硬盘删除,然后在添加新的硬盘即可)4、卸载挂载操作5、将新的硬盘添加到RAID10磁盘阵列中6、查看修复成功后的磁盘阵列信息(因为新添加的需要等待一段时间等待系统重新创建)7、重新挂载1、查看损坏后的磁盘阵列信息2、将损坏的硬盘从磁盘阵列中移除mdadm/dev/md0-r损坏的硬盘设备名mdadm-D/

    2022年6月3日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号