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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • noclassdeffounderror:org/apache_apache server at port 80

    noclassdeffounderror:org/apache_apache server at port 80web新人一个,写在这里的是我犯过的错误,如果有老兄和我一样倒霉可以试试,我的这个方法。说正题吧,我在使用Axis2发布我接口的三个方法时报错1、首先在服务端直接编写了测试类调用接口的方法,结果是完全正确2、然后我又在客户端写了一个测试类调用接口的方法,这次失败了,我通过这个错误报文找了很多博客都没能解决客户端测试类报的错误(这似乎没啥用,不够详细)org.apache.a…

    2022年9月13日
    0
  • pycharm快速替换_pycharm代码追踪

    pycharm快速替换_pycharm代码追踪1.在ios中用commend+shift+R打开菜单windons系统可以试试將commend替换为control会出现这样的界面(如果你有提前选中单词的话,系统将默认被选中的单词是將被替换的单词(可以更改))2.在第二行输入需要保留的语句,然后按下回车即可替换我们会发现标记的地方发生了替换注:一定要注意自己要替换的是那些部分(那些文件(它是可以替换别的文件的语句的))!!!!千万不要替换错了(多了),很难改…

    2022年8月28日
    3
  • mac datagrip激活教程_最新在线免费激活

    (mac datagrip激活教程)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月31日
    79
  • Idea激活码最新教程2020.3.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.3.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 3 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 3 1 成功激活

    2025年5月22日
    0
  • 均匀分布的期望和方差公式推导_圆上的均匀分布数学期望

    均匀分布的期望和方差公式推导_圆上的均匀分布数学期望数学正态分布和均匀分布问题。正态分布N(μ,σ^2)期望即μ,方差即σ^2区间[a,b]上均匀分布期望为(a+b)/2,方差为(b-a)^2/12为什么计算均匀分布的方差要除以12?注:均匀分布U(a,b)的方差Var(X)=(b-a)^2/12随机变量:U(a,b)X的概率密度函数:f(x)=1/(b-a)a其它x,f(x)=0;X的平均值:E(X)=∫(b,a)xf(x)dx=∫(b,…

    2022年9月18日
    0
  • hpStorm 10.0.1 激活码[在线序列号]

    hpStorm 10.0.1 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    45

发表回复

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

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