httpclient 连接参数
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 连接参数的更多相关文章
- HttpClient 模拟发送Post和Get请求 并用fastjson对返回json字符串数据解析,和HttpClient一些参数方法的deprecated(弃用)的综合总结
最近在做一个接口调用的时候用到Apache的httpclient时候,发现引入最新版本4.5,DefaultHttpClient等老版本常用的类已经过时了,不推荐使用了:去官网看了一下在4.3之后就抛 ...
- httpClient 连接池问题出现403.9
困扰了半个月时间终于找到连接池的问题,由于调用第三方有异常导致连接不能及时释放 所以写了一个定时扫描释放连接 监控连接池释放连接: public static class IdleConnection ...
- (五)HttpClient 连接超时及读取超时
第一节: HttpClient 连接超时及读取超时 HttpClient连接超时及读取超时 httpClient在执行具体http请求时候 有一个连接的时间和读取内容的时间: HttpClient连接 ...
- HttpClient连接超时及读取超时
HttpClient连接超时及读取超时 httpClient在执行具体http请求时候 有一个连接的时间和读取内容的时间: HttpClient连接时间 所谓连接的时候 是HttpClient发送请求 ...
- HttpClient连接池的一些思考
前言 使用apache的httpclient进行http的交互处理已经很长时间了,而httpclient实例则使用了http连接池,想必大家也没有关心过连接池的管理.事实上,通过分析httpclien ...
- HttpClient实战三:Spring整合HttpClient连接池
简介 在微服务架构或者REST API项目中,使用Spring管理Bean是很常见的,在项目中HttpClient使用的一种最常见方式就是:使用Spring容器XML配置方式代替Java编码方式进行H ...
- HttpClient连接池设置引发的一次雪崩
事件背景 我在凤巢团队独立搭建和运维的一个高流量的推广实况系统,是通过HttpClient 调用大搜的实况服务.最近经常出现Address already in use (Bind failed)的问 ...
- 低功耗蓝牙BLE之连接事件、连接参数和更新方法
转自:http://blog.csdn.net/zzfenglin/article/details/51304084 连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包.一个连接事件 ...
- Http持久连接与HttpClient连接池
一.背景 HTTP协议是无状态的协议,即每一次请求都是互相独立的.因此它的最初实现是,每一个http请求都会打开一个tcp socket连接,当交互完毕后会关闭这个连接. HTTP协议是全双工的协议, ...
随机推荐
- 20145313张雪纯exp7
问题 (1)通常在什么场景下容易受到DNS spoof攻击 处于局域网中的时候,例如连接了学校/公司/餐厅wifi. (2)在日常生活工作中如何防范以上两攻击方法 不要轻易点开未知网址.鼠标在链接处停 ...
- git如何列出分支之间的差异commit
答:使用git log master..diff_master 这样就可以列出在diff_master分支中包含的commit而在master分支中不包含的commit
- 【Maven安装】centos安装maven
实践证明,大多数的源码都需要maven的支持编译,所以maven和jdk环境都是必须的 一.官网下载 apache-maven-3.3.9-bin.tar.gz 注意:需要jdk1.7及以上 二.上传 ...
- EF、Repository、Factory、Service间关系
EF和Repository 实体(Entities):具备唯一ID,能够被持久化,具备业务逻辑,对应现实世界业务对象. 值对象(Value objects):不具有唯一ID,由对象的属性描述,一般为内 ...
- Window下Latex加速编译方法以及西农毕设论文模板推荐
近些日子用Latex写了一遍文章,一共有11页,但是在window下编译需要2分多的时间,使用的是xeletex编译器. 经过查找,得到了以下方法: 如果坚持使用windows下的latex,使用以下 ...
- UVa 11235 频繁出现的数值
https://vjudge.net/problem/UVA-11235 题意: 给出一个非降序排列的整数数组a1,a2,...,an,你的任务是对于一系列询问(i,j),回答ai,ai+1,...a ...
- fusion--RNAseq
融合基因(Fusion gene)是指两个基因的全部或一部分的序列相互融合为一个新的基因的过程.其有可能是染色体易位.中间缺失或染色体倒置所致的结果. 异常的融合基因可以引起恶性血液疾病以及肿瘤.例如 ...
- hdu 3579 Hello Kiki 不互质的中国剩余定理
Hello Kiki Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Probl ...
- OpenVPN Windows 平台安装部署教程
一.环境准备: 操作系统Windows 服务器IP:192.168.88.123 VPN:192.168.89.1 客户端IP:192.168.78.3 客户端服务端单网卡,路由器做好端口映射 安装 ...
- Socket入门之前的知识点
Socket难点 数据粘包 心跳维持 数据丢包 性能问题 7层网络模型-OSI 基础层:物理层(Physical).数据链路层(Datalink).网络层(Network) 传输层(Transport ...