一、導入的坐標(pom.xml文件)
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.6</version>
</dependency>
二、HttpUtils(封裝的HTTP工具類)
下面以json參數類型的post請求為例:
public static String jsonPost(String url,String params,boolean isToken) throws Exception{
//1、創建request(請求)
HttpPost post = new HttpPost(url);
//2、添加請求頭
post.setHeader(Constants.HEADER_NAME, Constants.HEADER_VALUE);
//2.1判斷是否需要鑒權
if(isToken){
VariableUtils.getToken(post);
}
//3、添加入參
post.setEntity(new StringEntity(params, "UTF-8"));
//4、發送接口
CloseableHttpClient client = HttpClients.createDefault();
//5、接收響應結果
CloseableHttpResponse response = client.execute(post);
//6、格式化響應結果
HttpEntity entity = response.getEntity();
String body = EntityUtils.toString(entity);
return body;
}
調用的獲取鑒權函數(getToken())
public static void getToken(HttpRequest post){
//1、從map中獲取鑒權值
String token = env.get("access_token");
//2、判斷值不為空,則傳入到頭參數中
if(token != null){
post.setHeader("access_token",token);
}
}
