HttpClient 用于解决测试时候乱码的问题
@Test
public void doPostWithParam() throws Exception, IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建一个post对象
HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.do");
// 创建一个entity,模拟一个表单
List<NameValuePair> kvList = new ArrayList<>();
kvList.add(new BasicNameValuePair("username", "张三"));
kvList.add(new BasicNameValuePair("password", "123"));
// 包装成一个entity对象
StringEntity entity = new UrlEncodedFormEntity(kvList);
// 设置请求的内容
post.setEntity(entity);
// 执行post请求
CloseableHttpResponse respose = httpClient.execute(post);
String string = EntityUtils.toString(respose.getEntity());
System.out.println(string);
respose.close();
httpClient.close();
}
在controller中设置如下内容
@RequestMapping(value = "/httpclient/post",method=RequestMethod.POST,
produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")
@ResponseBody
public String testPost(String username,String password){
System.out.println("username" + username + "/t password" + password) ;
//return TaotaoResult.ok();
return "username" + username + "/t password" + password ;
}
}