依赖:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
Demo:
- 设置请求地址和请求报文
//请求地址
String url = "请求地址";
//请求报文
String content = "请求报文";
- 获取http客户端和post请求
//获取http客户端
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
// 创建Post请求
HttpPost httpPost = new HttpPost(url);
- 设置post请求的entity
// 将数据放入entity中
StringEntity entity = new StringEntity(content, "UTF-8");
httpPost.setEntity(entity);
- 设置响应模型(响应内容和响应)
// 响应模型
String result = null;
CloseableHttpResponse response = null;
- 设置请求头
//设置请求头
httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");
//命名空间+方法名
httpPost.setHeader("SOAPAction", "\"http://tempuri.org/Request\"");
- 发送post请求
// 由客户端执行(发送)Post请求
response = httpClient.execute(httpPost);
// 从响应模型中获取响应实体
HttpEntity responseEntity = response.getEntity();
System.out.printlng.info("响应ContentType为:" + responseEntity.getContentType());
System.out.printlnog.info("响应状态为:" + response.getStatusLine());
if (responseEntity != null) {
result = EntityUtils.toString(responseEntity);
System.out.printlnog.info("响应内容为:" + result);
}
//释放资源
httpClient.close();
response.close();
整体代码:
//请求地址
String url = "";
//请求报文
String content = "";
// 获得Http客户端
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
// 创建Post请求
HttpPost httpPost = new HttpPost(url);
// 将数据放入entity中
StringEntity entity = new StringEntity(content, "UTF-8");
httpPost.setEntity(entity);
// 响应模型
String result = null;
CloseableHttpResponse response = null;
try {
//设置请求头
httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");
//命名空间+方法名
httpPost.setHeader("SOAPAction", "\"http://tempuri.org/Request\"");
// 由客户端执行(发送)Post请求
response = httpClient.execute(httpPost);
// 从响应模型中获取响应实体
HttpEntity responseEntity = response.getEntity();
log.info("响应ContentType为:" + responseEntity.getContentType());
log.info("响应状态为:" + response.getStatusLine());
if (responseEntity != null) {
result = EntityUtils.toString(responseEntity);
log.info("响应内容为:" + result);
}
}finally {
// 释放资源
if (httpClient != null) {
httpClient.close();
}
if (response != null) {
response.close();
}
}