1、使用HttpClient
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
</dependency>
String url = "http://xxx/dlmp/logview/addLogViewAPI.htm";
Map<String, String> params = Maps.newHashMap();
params.put("xxx", "xxx");
params.put("xxx", "xxx");
System.out.println(JSON.toJSONString(params));
RequestConfig defaultRequestConfig = RequestConfig.custom().setConnectTimeout(3000).setSocketTimeout(3000).setConnectionRequestTimeout(3000).build();
CloseableHttpClient httpclient = HttpClients.custom().setRetryHandler(new DefaultHttpRequestRetryHandler(0,false)).build();
httpclient = HttpClients.custom().setRetryHandler(new DefaultHttpRequestRetryHandler(0,false)).build();
HttpPost httpPost = new HttpPost(url);
httpPost.setConfig(defaultRequestConfig);
StringEntity entity = new StringEntity(JSON.toJSONString(params),"utf-8");//解决中文乱码问题
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
httpPost.setEntity(entity);
// 表单方式
// List<BasicNameValuePair> pairList = new ArrayList<BasicNameValuePair>();
// pairList.add(new BasicNameValuePair("name", "admin"));
// pairList.add(new BasicNameValuePair("pass", "123456"));
// httpPost.setEntity(new UrlEncodedFormEntity(pairList, "utf-8"));
CloseableHttpResponse response = httpclient.execute(httpPost);
String res = EntityUtils.toString(response.getEntity());
System.out.println(res);
2、使用轻量级的fluent-hc包
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5.2</version>
</dependency>
String url = "http://xxx/dlmp/logview/addLogViewAPI.htm";
Map<String, String> params = Maps.newHashMap();
params.put("xxx", "xxx");
params.put("xxx", "xxx");
System.out.println(JSON.toJSONString(params));
String res = EntityUtils.toString(Request.Post(url).bodyString(JSON.toJSONString(params), ContentType.APPLICATION_JSON).execute().returnResponse().getEntity());
System.out.println(res);