httpclient4.5以上设置连接超时的…

 
 
public static JSONObject httpGet(String url, Map getrequesttMap, boolean noNeedResponse) {
//post请求返回结果
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet method =new HttpGet(url);
//这里设置超时时长 

RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(5000).setConnectionRequestTimeout(1000)
.setSocketTimeout(5000).build();

//setConnectTimeout:设置连接超时时间,单位毫秒。

//setConnectionRequestTimeout:设置从connect Manager获取Connection 超时时间,单位毫秒。这个属性是新加的属性,因为目前版本是可以共享连接池的。

//setSocketTimeout:请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。

method.setConfig(requestConfig);
try {
if (null != getrequesttMap) {
//解决中文乱码问题
List params = new ArrayList();
for (String key : getrequesttMap.keySet()) {
params.add(new BasicNameValuePair(key, getrequesttMap.get(key)));
}
method.setParams((HttpParams) new UrlEncodedFormEntity(params, "UTF-8"));
//method.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
HttpResponse result = httpClient.execute(method);
url = URLDecoder.decode(url, "UTF-8");

return buildResult(url, result, noNeedResponse);
} catch (IOException e) {
logger.error("通信异常:" + url, e);
}
return null;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值