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).setConnectionRequestTime
.setSocketTimeout(5000).build();
//setConnectTimeout:设置连接超时时间,单位毫秒。
//setConnectionRequestTime
//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;
}