欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

httpclient4.5 使用post方式提交请求

程序员文章站 2022-06-21 21:10:27
...

 

 private RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(25000).setConnectTimeout(25000)

.setConnectionRequestTimeout(25000).build();

 

private final String charSet = "UTF-8";

 

public String postString(String url, Map<String, String> param) throws ClientProtocolException, IOException {

 

CloseableHttpClient httpclient = HttpClients.createDefault();

 

try {

RequestBuilder rb = RequestBuilder.post().setUri(new URI(url));

// 请求参数

if (null != param) {

Iterator<Entry<String, String>> item = param.entrySet().iterator();

List<NameValuePair> list = new ArrayList<NameValuePair>();

while (item.hasNext()) {

Entry<String, String> it = item.next();

// 编码格式utf-8
list.add(new BasicNameValuePair(it.getKey(),it.getValue()));

//rb = rb.addParameter(it.getKey(), it.getValue());

 

}

}

//utf-8 编码

rb.setEntity(new UrlEncodedFormEntity(list, "UTF-8"));

rb.setConfig(requestConfig);

HttpUriRequest login = rb.build();

 

CloseableHttpResponse response = httpclient.execute(login);

if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {

HttpEntity entitys = response.getEntity();

if (entitys != null) {

return EntityUtils.toString(entitys, charSet);

}

}

 

// 关闭

if (null != response) {

response.close();

}

 

if (null != httpclient) {

httpclient.close();

}

 

} catch (Exception e) {

e.printStackTrace();

}

 

return "";

}

 

 //测试方法

 

public class PayBest {

 

public static void orderCommon(){

 

HttpFilePost post = new HttpFilePost();

String url ="http://localhost:8080/yun/api/best.do";

Map<String,String> param = new HashMap<String,String>();

param.put("userId", "1111110978");

param.put("orderList", "17022800915900");

param.put("bpwd", "111222");

param.put("method", "payCommon");

 

try {

String result = post.postString(url, param);

System.out.println(result);

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

 

}

 

 

public static void main(String[] args) {

orderCommon();

}

 

}