GET 请求
public static String doGet(){
// 获取连接客户端工具
CloseableHttpClient httpClient = HttpClients.createDefault();
String entityStr = null;
CloseableHttpResponse response = null;
try {
/*
* 由于GET请求的参数都是拼装在URL地址后方,所以我们要构建一个URL,带参数
*/
URIBuilder uriBuilder = new URIBuilder("http://localhost:8088/api/vi/user/findUser");
/** 第一种添加参数的形式 */
uriBuilder.addParameter("name", "root");
//uriBuilder.addParameter("id", "123456");
// /** 第二种添加参数的形式 */
// List<NameValuePair> list = new LinkedList<>();
// BasicNameValuePair param1 = new BasicNameValuePair("name", "root");
// BasicNameValuePair param2 = new BasicNameValuePair("id", "123456");
// list.add(param1);
// list.add(param2);
// uriBuilder.setParameters(list);
// 根据带参数的URI对象构建GET请求对象
HttpGet httpGet = new HttpGet(uriBuilder.build());
//后台获取参数
// @GetMapping("/findUser")
// public List<User> findUser(@RequestParam(name = "name") String name) {
// }
//HttpPost httpPost = new HttpPost(uriBuilder.build());
/*
* 添加请求头信息
*/
// 浏览器表示
httpGet.addHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)");
// 传输的类型
httpGet.addHeader("Content-Type", "application/x-www-form-urlencoded");
// 执行请求
response = httpClient.execute(httpGet);
// 获得响应的实体对象
HttpEntity entity = response.getEntity();
// 使用Apache提供的工具类进行转换成字符串
entityStr = EntityUtils.toString(entity, "UTF-8");
} catch (ClientProtocolException e) {
System.err.println("Http协议出现问题");
e.printStackTrace();
} catch (ParseException e) {
System.err.println("解析错误");
e.printStackTrace();
} catch (URISyntaxException e) {
System.err.println("URI解析异常");
e.printStackTrace();
} catch (IOException e) {
System.err.println("IO异常");
e.printStackTrace();
} finally {
// 释放连接
if (null != response) {
try {
response.close();
httpClient.close();
} catch (IOException e) {
System.err.println("释放连接出错");
e.printStackTrace();
}
}
}
// 打印响应内容
System.out.println(entityStr);
return entityStr;
}
POST 请求
public static String doPost(){
// 获取连接客户端工具
CloseableHttpClient httpClient = HttpClients.createDefault();
String entityStr = null;
CloseableHttpResponse response = null;
try {
// 创建POST请求对象
HttpPost httpPost = new HttpPost("http://localhost:8088/api/vi/user/queryUser");
/*
* 添加请求参数
*/
// 创建请求参数
// List<NameValuePair> list = new LinkedList<>();
// BasicNameValuePair param1 = new BasicNameValuePair("name", null);
// BasicNameValuePair param2 = new BasicNameValuePair("id", "1");
// list.add(param1);
// list.add(param2);
// // 使用URL实体转换工具
// UrlEncodedFormEntity entityParam = new UrlEncodedFormEntity(list, "UTF-8");
User user = new User();
user.setId(1L);
user.setName(null);
String jsonString = JSONObject.fromObject(user).toString();
httpPost.setEntity(new StringEntity(jsonString, Charset.forName("UTF-8")));
//后台获取参数
// @PostMapping(value = "/queryUser", produces = "application/json")
// public List<User> queryUser(@RequestBody User user) {
// return userService.queryUser(user);
// }
/*
* 添加请求头信息
*/
// 浏览器表示
httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)");
// 传输的类型
//httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httpPost.addHeader("Content-type", "application/json; charset=utf-8");
// 执行请求
response = httpClient.execute(httpPost);
// 获得响应的实体对象
HttpEntity entity = response.getEntity();
// 使用Apache提供的工具类进行转换成字符串
entityStr = EntityUtils.toString(entity, "UTF-8");
//转成具体的java对象
//BeiShengResult beiShengResult = (BeiShengResult) JSONObject.toBean(JSONObject.fromObject(entityStr), BeiShengResult.class);
// System.out.println(Arrays.toString(response.getAllHeaders()));
//Object data = JSONObject.fromObject(entityStr).get("data");
//转成List
//List<User> userList = JSONArray.parseArray(list.toString(), User.class);
} catch (ClientProtocolException e) {
System.err.println("Http协议出现问题");
e.printStackTrace();
} catch (ParseException e) {
System.err.println("解析错误");
e.printStackTrace();
} catch (IOException e) {
System.err.println("IO异常");
e.printStackTrace();
} finally {
// 释放连接
if (null != response) {
try {
response.close();
httpClient.close();
} catch (IOException e) {
System.err.println("释放连接出错");
e.printStackTrace();
}
}
}
// 打印响应内容
System.out.println(entityStr);
return entityStr;
}