以下代码是POST请求的,get请求没有封装,比较简单
package com.hxkj.fsslr.core.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpClientUtils {
/**
* 链接时间
*/
private static final int connectTime = 5000;
private static CloseableHttpClient httpclient;
private static RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(connectTime).setConnectTimeout(connectTime).build();
/**
* @Function: http post请求
* @Title: doPost
* @param remoteUrl 访问的url
* @param parameter 请求的参数
* @param encode 编码格式
* @return
* @throws Exception
* String
* @author huzhihui_c@qq.com
* @date 2016年7月17日 下午1:57:14
* @Since JDK 1.8
*/
public static String doPost(String remoteUrl,Map<String,String> parameter,String encode) throws Exception{
List<NameValuePair> params = new ArrayList<>();
if(null != parameter){
for(Map.Entry<String, String> entry : parameter.entrySet()){
params.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
}
if(null == encode || encode.trim().equals("")){
encode = "UTF-8";
}
String result = null;
httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(remoteUrl);
httpPost.setEntity(new UrlEncodedFormEntity(params,encode));
//设置请求和传输超时时间
httpPost.setConfig(requestConfig);
CloseableHttpResponse httpResp = httpclient.execute(httpPost);
try {
int statusCode = httpResp.getStatusLine().getStatusCode();
// 判断是够请求成功
if (statusCode == HttpStatus.SC_OK) {
System.out.println("状态码:" + statusCode);
System.out.println("请求成功!");
// 获取返回的数据
result = EntityUtils.toString(httpResp.getEntity(), encode);
} else {
System.out.println("状态码:"
+ httpResp.getStatusLine().getStatusCode());
System.out.println("HttpPost方式请求失败!");
}
} finally {
httpResp.close();
httpclient.close();
}
return result;
}
}