1、創建獲取了解客戶端的工具
2、創建post請求
3、添加請求頭
4、封裝請求參數
5、將參數添加到請求實體
6、執行請求得到響應結果
7、獲取響應結果
package com.test.httpclient;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class HttpClientPost {
public static void main(String[] args) throws Exception{
//創建一個獲取連接客戶端的工具
CloseableHttpClient httpClient = HttpClients.createDefault();
//創建Post請求
HttpPost httpPost = new HttpPost("http://localhost:8081/api/login");
//添加請求頭
httpPost.addHeader("Content-Type","application/json;charset=UTF-8");
//封裝請求參數
Map map = new HashMap();
map.put("username","admin");
map.put("password","123");
JSONObject jsonString = new JSONObject(map);
StringEntity entity = new StringEntity(jsonString.toString(),"UTF-8");
//將封裝的參數添加到Post請求中
httpPost.setEntity(entity);
//執行請求
CloseableHttpResponse response = httpClient.execute(httpPost);
//獲取響應的實體
HttpEntity responseEntity = response.getEntity();
//轉化成字符串
String entityString = EntityUtils.toString(responseEntity);
//轉換成JSON格式輸出
JSONObject jsonObject = JSONObject.parseObject(entityString);
String string = JSON.toJSONString(jsonObject,SerializerFeature.PrettyFormat);
//打印返回結果
System.out.println(jsonObject.get("code"));
}
}