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协议是全双工的协议, ...
随机推荐
- c/c++ 动态申请数组(转载)
转载:http://blog.csdn.net/hondely/article/details/6779887 转载:http://bbs.csdn.net/topics/390721031 转载:h ...
- map按value值查找——find_if的使用(转载)
转载:http://www.cnblogs.com/xufeiyang/archive/2012/05/09/2491871.html CValueFind #ifndef _CVALUEFIND_H ...
- C简介与环境配置
C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的.C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现. 在 1978 年,布莱 ...
- DHacker 汉化
- 棋盘状态压缩dp
状态压缩入门DP整理 只针对入门 一般都是用2进制的方法,压缩成一个数,所以n的范围都会特变小 一些套路 状态一般是很多的,可以搜索或者位运算筛选一下,基本都是这样的吧 当要存两个状态或者数组存不下的 ...
- SQL 收集
1.union CREATE TABLE dbo.#testTab ( Id int NOT NULL ) insert into #testTab values(); insert into #te ...
- spring与spring-data-redis整合redis
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Stream API
引例: 1 List<String> strList = Arrays.asList("zhaojigang","nana","tiany ...
- extgcd 扩展欧几里得算法模板
#include <bits/stdc++.h> using namespace std; int extgcd (int a,int b,int &x,int &y){ ...
- spark-shuffle分析
前言 shuffle是分布式计算系统中最重要的一部分,spark和mapreduce的shuffle的大体思路类似,在实现上有一些区分.Spark提供了插件式的接口,使用者可以通过继承ShuffleM ...