POM依赖:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency>
客户端代码:
package xyz.jangle.httpclient.test;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
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.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpClientTest {
public static void main(String[] args) {
try {
httpPost("http://www.jangle.xyz/mvc/hello4");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void httpPost(String url) throws ClientProtocolException, IOException {
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpPost httpPostRequest = new HttpPost(url);
// post.addHeader(name, value); // 添加请求头
// post.addHeader(name, value); // 添加header
// 添加参数列表
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("name", "123")); // 添加参数
parameters.add(new BasicNameValuePair("age", "456")); // 添加参数
HttpEntity entity = new UrlEncodedFormEntity(parameters, "UTF-8");
httpPostRequest.setEntity(entity); // 存入参数
CloseableHttpResponse response = client.execute(httpPostRequest);
System.out.println(response.getStatusLine()); // 响应状态
HttpEntity responseEntity = response.getEntity(); // 响应实体
String string = EntityUtils.toString(responseEntity); // 字符串实体
System.out.println(string);
client.close();
response.close();
}
}
服务端接收方式(Spring MVC):
@RequestMapping("/hello4")
@ResponseBody
public Map<String,Object> hello3(Demo demo) {
HashMap<String, Object> returnMap = new HashMap<String,Object>();
System.out.println("name:"+demo.getName()+",age:"+demo.getAge());
returnMap.put("code", 0);
returnMap.put("msg", "操作成功");
return returnMap;
}