HttpUtils-http請求工具類
阿新 • • 發佈:2022-03-07
HttpUtils-http請求工具類
package com.jeeplus.modules.utils; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; import java.util.Map; /** * http 工具類 */ public class HttpUtils {public static String post(String requestUrl, String accessToken, String params) throws Exception { String contentType = "application/x-www-form-urlencoded"; return HttpUtils.post(requestUrl, accessToken, contentType, params); } public static String post(String requestUrl, String params)throws Exception { String contentType = "application/json"; String encoding = "UTF-8"; if (requestUrl.contains("nlp")) { encoding = "GBK"; } return HttpUtils.postGeneralUrl(requestUrl, contentType, params, encoding); } public static String post(String requestUrl, String accessToken, String contentType, String params)throws Exception { String encoding = "UTF-8"; if (requestUrl.contains("nlp")) { encoding = "GBK"; } return HttpUtils.post(requestUrl, accessToken, contentType, params, encoding); } public static String post(String requestUrl, String accessToken, String contentType, String params, String encoding) throws Exception { String url = requestUrl + "?access_token=" + accessToken; return HttpUtils.postGeneralUrl(url, contentType, params, encoding); } public static String postGeneralUrl(String generalUrl, String contentType, String params, String encoding) throws Exception { URL url = new URL(generalUrl); // 開啟和URL之間的連線 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); // 設定通用的請求屬性 connection.setRequestProperty("Content-Type", contentType); connection.setRequestProperty("Connection", "Keep-Alive"); connection.setUseCaches(false); connection.setDoOutput(true); connection.setDoInput(true); // 得到請求的輸出流物件 DataOutputStream out = new DataOutputStream(connection.getOutputStream()); out.write(params.getBytes(encoding)); out.flush(); out.close(); // 建立實際的連線 connection.connect(); // 獲取所有響應頭欄位 Map<String, List<String>> headers = connection.getHeaderFields(); // 遍歷所有的響應頭欄位 for (String key : headers.keySet()) { } // 定義 BufferedReader輸入流來讀取URL的響應 BufferedReader in = null; in = new BufferedReader( new InputStreamReader(connection.getInputStream(), encoding)); String result = ""; String getLine; while ((getLine = in.readLine()) != null) { result += getLine; } in.close(); return result; } }