import com.alibaba.fastjson.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
/**
-
@ClassName: HttpUtils
-
@Description:
-
@Author: zhanghui
-
@Date: 2023-11-14
-
@Version: 1.0
**/
public class HttpUtils {
public static JSONObject sendGet(String url, Map<String, String> headers) throws IOException {
HttpURLConnection connection = null;
BufferedReader reader = null;try { URL apiUrl = new URL(url); connection = (HttpURLConnection) apiUrl.openConnection(); connection.setRequestMethod("GET"); if (headers != null) { for (Map.Entry<String, String> entry : headers.entrySet()) { connection.setRequestProperty(entry.getKey(), entry.getValue()); } } int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } return JSONObject.parseObject(response.toString()); } else { throw new IOException("HTTP GET request failed with response code: " + responseCode); } } finally { if (reader != null) { reader.close(); } if (connection != null) { connection.disconnect(); } }
}
public static String sendPost(String url, String requestBody, Map<String, String> headers) throws IOException {
HttpURLConnection connection = null;
BufferedReader reader = null;
OutputStream outputStream = null;try { URL apiUrl = new URL(url); connection = (HttpURLConnection) apiUrl.openConnection(); connection.setRequestMethod("POST"); if (headers != null) { for (Map.Entry<String, String> entry : headers.entrySet()) { connection.setRequestProperty(entry.getKey(), entry.getValue()); } } connection.setDoOutput(true); outputStream = connection.getOutputStream(); outputStream.write(requestBody.getBytes("UTF-8")); outputStream.flush(); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } return response.toString(); } else { throw new IOException("HTTP POST request failed with response code: " + responseCode); } } finally { if (reader != null) { reader.close(); } if (outputStream != null) { outputStream.close(); } if (connection != null) { connection.disconnect(); } }
}
}