接口调用https工具类

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();
         }
     }
    

    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值