http.socket.timeout(读取超时)

套接字毫秒级超时时间(SO_TIMEOUT),这就是等待数据,换句话说,在两个连续的数据包之间最大的闲置时间。
如果超时是0表示无限大的超时时间,即这个参数没有设置或为0表示读取超时时间为无限大

http.tcp.nodelay

决定了是否使用Nagle算法。该算法通过最小发送的分组数量来节省带宽。
当应用程序希望降低网络延迟并提高性能时,他们可以关闭nagle算法。
如果这个参数没有被设置表示TCP_NODELAY就会开启(无延迟)

http.socket.buffer-size

决定了内部套接字缓存使用的大小,来缓存数据同时接受、传输http报文。
这个参数期望得到一个java.lang.Integer类型的值。如果这个参数没有被设置,那么Httpclient将会分配8192字节的套接字缓存。
得到一个java.lang.Integer类型的值。如果这个参数没有被设置,那么Httpclient将会分配8192字节的套接字缓存。

http.socket.linger

使用指定的秒数拖延时间来设置SO_LINGER。最大的连接超时值是平台指定的。
0表示该选项是关闭的。-1表示该选项默认使用的是JRE默认的。这个选项仅仅影响了套接字的关闭操作,如果这个参数没有被设置就假设为-1(JRE)默认的

http.connection.timeout

决定了知道连接建立时的毫秒级超时时间。
超时时间的值为0解释为一个无限大的时间,这个参数期望得到一个java.lang.Integer类型的值。如果这个参数没有被设置,连接操作将不会超时。

http.socket.stalecheck

决定了是否使用旧的连接检查。当在一个连接之上执行一个请求服务器端的连接已经关闭时,关闭旧的连接检查可能导致获得一个IO错误风险时显著的性能提升,
出于性能的关键操作,这个检查应该被关闭。如果这个参数没有被设置那么久的连接将会在每个请求执行之前执行。

http.connection.max-line-length

决定了最大请求行长度的限制。如果设置为一个正数,任何Http请求超时这个限制将会引发java.io.Exception异常。
负数或零将会关闭这个检查。如果这个参数没有设置,那么就不强制进行限制了。

http.connection.max-header-count

决定了允许的最大HTTP头部信息数量。如果设置为一个正数,从数据流中获得HTTP头部信息数量超过了这个限制就会引发java.io.IOException异常。
负数或零将会关闭这个检查。如果这个参数没有被设置那么就不强制进行设置了。

http.connection.max-status-line.garbage

决定了在期望得到http响应状态行之前可忽略请求行的最大数量。使用http1.1持久性连接,这个问题产生的破碎的脚本将会返回一个错误Content-length
CloseableHttpClient httpClient = HttpClients.createDefault();
       RequestConfig requestConfig = RequestConfig.custom()
                      .setSocketTimeout(10*1000)
                      .setConnectTimeout(10*1000)
                      .build();
       HttpGet httpGet = new HttpGet("http://192.168.56.101:7070");
       httpGet.setConfig(requestConfig);
       CloseableHttpResponse response= null;
       try {
           response=httpClient.execute(httpGet);
           /**
            * 获取连接状态code
            */
           int statusCode = response.getStatusLine().getStatusCode();
           if(statusCode==200){
               System.out.println("连接成功!");
          }
           response.close();
      }catch (Exception e){
           e.printStackTrace();
      }finally {
           try {
               httpClient.close();
          } catch (IOException e) {
               e.printStackTrace();
          }
      }

httpclient 连接参数的更多相关文章

  1. HttpClient 模拟发送Post和Get请求 并用fastjson对返回json字符串数据解析,和HttpClient一些参数方法的deprecated(弃用)的综合总结

    最近在做一个接口调用的时候用到Apache的httpclient时候,发现引入最新版本4.5,DefaultHttpClient等老版本常用的类已经过时了,不推荐使用了:去官网看了一下在4.3之后就抛 ...

  2. httpClient 连接池问题出现403.9

    困扰了半个月时间终于找到连接池的问题,由于调用第三方有异常导致连接不能及时释放 所以写了一个定时扫描释放连接 监控连接池释放连接: public static class IdleConnection ...

  3. (五)HttpClient 连接超时及读取超时

    第一节: HttpClient 连接超时及读取超时 HttpClient连接超时及读取超时 httpClient在执行具体http请求时候 有一个连接的时间和读取内容的时间: HttpClient连接 ...

  4. HttpClient连接超时及读取超时

    HttpClient连接超时及读取超时 httpClient在执行具体http请求时候 有一个连接的时间和读取内容的时间: HttpClient连接时间 所谓连接的时候 是HttpClient发送请求 ...

  5. HttpClient连接池的一些思考

    前言 使用apache的httpclient进行http的交互处理已经很长时间了,而httpclient实例则使用了http连接池,想必大家也没有关心过连接池的管理.事实上,通过分析httpclien ...

  6. HttpClient实战三:Spring整合HttpClient连接池

    简介 在微服务架构或者REST API项目中,使用Spring管理Bean是很常见的,在项目中HttpClient使用的一种最常见方式就是:使用Spring容器XML配置方式代替Java编码方式进行H ...

  7. HttpClient连接池设置引发的一次雪崩

    事件背景 我在凤巢团队独立搭建和运维的一个高流量的推广实况系统,是通过HttpClient 调用大搜的实况服务.最近经常出现Address already in use (Bind failed)的问 ...

  8. 低功耗蓝牙BLE之连接事件、连接参数和更新方法

    转自:http://blog.csdn.net/zzfenglin/article/details/51304084 连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包.一个连接事件 ...

  9. Http持久连接与HttpClient连接池

    一.背景 HTTP协议是无状态的协议,即每一次请求都是互相独立的.因此它的最初实现是,每一个http请求都会打开一个tcp socket连接,当交互完毕后会关闭这个连接. HTTP协议是全双工的协议, ...

随机推荐

  1. [noip模拟题]LGTB 玩THD

    LGTB 最近在玩一个类似DOTA 的游戏名叫THD 有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面每个小兵有一定的血量hi,杀死后有一定的金钱gi 每一秒,他都可以攻击任意一个活着的 ...

  2. Visual Status各个版本官网下载

    网址:https://www.visualstudio.com/zh-hans/vs/older-downloads/

  3. 硬盘分区表知识—详解硬盘MBR

    硬盘是现在计算机上最常用的存储器之一.我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力.而这些数据都以文件的形式存储在硬盘 里.不过,计算机可不像人那么聪明.在读取相应的文件时,你必须 ...

  4. POJ 1236 Network of Schools(tarjan)题解

    题意:一个有向图.第一问:最少给几个点信息能让所有点都收到信息.第二问:最少加几个边能实现在任意点放信息就能传遍所有点 思路:把所有强连通分量缩成一点,然后判断各个点的入度和出度 tarjan算法:问 ...

  5. Node10.15.0的安装

    1. 首先我们需要去node官网下载最近版本的压缩包,然后我们把他们解压到我们自定义的安装路径,我使用的是/usr/local/lib/nodejs VERSION=v10.15.0 DISTRO=l ...

  6. 入门dp总结

    写这篇博文主要是为了归纳总结一下dp的有关问题(不定期更新,暑假应该会更的快一些) 会大概讲一下思路,不会事无巨细地讲 另一篇是平时做过的一些dp题,这篇博客里面提到的题都有题解放在那边:https: ...

  7. requirejs概念

  8. pragma comment的使用(转)

    #pragma 的使用 尽管 C 和 C++ 都已经有标准,但是几乎每个编译器 (广义,包含连接器等) 扩展一些 C/C++ 关键字. 合理地应用这些关键字,有时候能使我们的工作非常方便.下面随便说说 ...

  9. AtCoder Grand Contest 013 C :Ants on a Circle

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  10. Ubuntu16.04 安装 Django

    pip2 install django==1.11 或者手动安装: 链接:https://pan.baidu.com/s/1uQJD-pON7gELoCC2TwYnEw 提取码:flgg cd Dja ...