public class HttpClientUtil {
private static final CloseableHttpClient httpclient;
private static final String code="UTF-8";
static{
RequestConfig requestConfig=RequestConfig.custom()
.setConnectTimeout(5000)
.setSocketTimeout(5000).build();
httpclient =HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();
}
public String httpGet(String url,Map<String,Object> params) throws ParseException, UnsupportedEncodingException, IOException{
if (params!=null&& !params.isEmpty()) {
List<NameValuePair> pairs=new ArrayList<>(params.size());
for (String key : params.keySet()) {
pairs.add(new BasicNameValuePair(key, params.get(key).toString()));
}
url+="?"+EntityUtils.toString(new UrlEncodedFormEntity(pairs), code);
}
HttpGet httpGet=new HttpGet(url);
CloseableHttpResponse response=httpclient.execute(httpGet);
int statusCode=response.getStatusLine().getStatusCode();
if (statusCode!=200) {
httpGet.abort();
throw new RuntimeException("HttpClient,errorstatusCode:"+statusCode);
}
HttpEntity entity=response.getEntity();
String result=null;
if (entity!=null) {
result=EntityUtils.toString(entity,code);
EntityUtils.consume(entity);
response.close();
}else {
return null;
}
return result;
}
public String httppost(String url,Map<String , Object> params) throws ParseException, UnsupportedEncodingException, IOException{
List<NameValuePair> pairs = null;
if (params!=null&& !params.isEmpty()) {
pairs=new ArrayList<>(params.size());
for (String key : params.keySet()) {
pairs.add(new BasicNameValuePair(key, params.keySet().toString()));
}
}
HttpPost httpPost=new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(pairs, code));
CloseableHttpResponse response=httpclient.execute(httpPost);
int statusCode=response.getStatusLine().getStatusCode();
if (statusCode!=200) {
//终止
httpPost.abort();
throw new RuntimeException("HttpClient,error statusCode"+statusCode);
}
String result=null;
HttpEntity entity=response.getEntity();
if (entity!=null) {
result=EntityUtils.toString(entity, code);
EntityUtils.consume(entity);
response.close();
}else {
return null;
}
return result;
}
}
HttpClient工具类
最新推荐文章于 2020-06-29 17:45:14 发布