https://blog.csdn.net/YouCanYouUp_/article/details/80769572
public class HttpClientUtil {
public static String sendPost(String urlParam,PageData paramPd) throws HttpException, IOException {
// 创建httpClient实例对象
HttpClient httpClient = new HttpClient();
// 设置httpClient连接主机服务器超时时间:15000毫秒
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
// 创建post请求方法实例对象
PostMethod postMethod = new httpUTF8PostMethod(urlParam);
// 设置post请求超时时间
postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//paramPd 存在多个参数键值对,遍历时,存入这个数组
NameValuePair[] nvpair = new NameValuePair[paramPd.size()];
//遍历参数列表内的值,获取键值对
Iterator<Entry<String,String>> iter = paramPd.entrySet().iterator();
int i = 0;
while(iter.hasNext()){
Entry<String,String> entry = iter.next();
String key = entry.getKey();
String value = entry.getValue();
nvpair[i] = new NameValuePair(key, value);
i++;
}
//设置请求携带的参数--一个或多个
postMethod.setRequestBody(nvpair);
httpClient.executeMethod(postMethod);
String result = postMethod.getResponseBodyAsString();
postMethod.releaseConnection();
return result;
}
}
其中,
- urlParam:接口地址
- PageData paramPd:参数键值对 MAP
PageData :是一个 HashMap ,往里面存数据时,如下:
PageData pd = new PageData(); pd.put("aaa", "aaa"); pd.put("bbb", "bbb");
- httpUTF8PostMethod
-
//创建PostMethod的子类设置编码格式 public class httpUTF8PostMethod extends PostMethod{ public httpUTF8PostMethod(String url){ super(url); } @Override public String getRequestCharSet() { //return super.getRequestCharSet(); return "UTF-8"; } }
POST 方法调用:
postInfo = HttpClientUtil.sendPost(remUrl,pd);