k94314517
2024-07-25 a75b18a4157ab486e0b51c438ac165ab3a08e3e0
server/service/src/main/java/com/doumee/core/utils/HttpsUtil.java
@@ -11,25 +11,40 @@
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Map;
public class HttpsUtil {
    public static String get(String url,boolean ignoreSSL) {
        return connection(url, "GET", null, null,ignoreSSL);
        return connection(url, "GET", null, null,ignoreSSL,null);
    }
    public static String post(String url, String data, String contentType, boolean ignoreSSL) {
        return connection(url, "POST", data, contentType, ignoreSSL);
        return connection(url, "POST", data, contentType, ignoreSSL,null);
    }
    public static String sendGet(String url) {
        if(url.startsWith("https://")){
            return connection(url, "GET", "", "text/plain; charset=utf-8", true,null);
        }else{
            return connectionHttp(url, "GET", "", "text/plain; charset=utf-8",null);
        }
    }
    public static String postJson(String url, String data) {
        if(url.startsWith("https://")){
            return connection(url, "POST", data, "application/json", true);
            return connection(url, "POST", data, "application/json", true,null);
        }else{
            return connectionHttp(url, "POST", data, "application/json");
            return connectionHttp(url, "POST", data, "application/json",null);
        }
    }
    public static String postJsonWithHeaders(String url, String data, Map<String,String> headers) {
        if(url.startsWith("https://")){
            return connection(url, "POST", data, "application/json", true,headers);
        }else{
            return connectionHttp(url, "POST",  data, "application/json",headers);
        }
    }
    public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){
    public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL, Map<String,String> headers){
        HttpsURLConnection connection = null;
        try {
            URL _url = new URL(url);
@@ -41,7 +56,11 @@
            if(contentType != null){
                connection.setRequestProperty("Content-Type", contentType);
            }
            if (headers!=null && headers.size()>0) {
                for (String s : headers.keySet()) {
                    connection.setRequestProperty(s, headers.get(s));
                }
            }
            if(ignoreSSL){
                //信任所有ssl证书和主机
                TrustManager[] trustManagers = {new HttpsTrustManager()};
@@ -56,7 +75,6 @@
                });
            }
            connection.connect();
            if(data != null){
@@ -64,7 +82,6 @@
                outputStream.write(data.getBytes("utf-8"));
                outputStream.close();
            }
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpsURLConnection.HTTP_OK) {
                InputStream is = connection.getInputStream();
@@ -87,7 +104,7 @@
        }
        return null;
    }
    public static String connectionHttp(String url,String method,String data,String contentType ){
    public static String connectionHttp(String url,String method,String data,String contentType, Map<String,String> headers){
        HttpURLConnection connection = null;
        try {
            URL _url = new URL(url);
@@ -99,7 +116,11 @@
            if(contentType != null){
                connection.setRequestProperty("Content-Type", contentType);
            }
            if (headers!=null && headers.size()>0) {
                for (String s : headers.keySet()) {
                    connection.setRequestProperty(s, headers.get(s));
                }
            }
            connection.connect();
            if(data != null){