From 2166c1a14f9629aa49a5f3bb849ce878df4c4892 Mon Sep 17 00:00:00 2001 From: yangbin <yangbin@qq.com> Date: 星期三, 28 八月 2024 17:23:25 +0800 Subject: [PATCH] 2 --- lxzn-module-ai/src/main/java/org/jeecg/modules/utils/AiTestUils.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 0 deletions(-) diff --git a/lxzn-module-ai/src/main/java/org/jeecg/modules/utils/AiTestUils.java b/lxzn-module-ai/src/main/java/org/jeecg/modules/utils/AiTestUils.java new file mode 100644 index 0000000..388929e --- /dev/null +++ b/lxzn-module-ai/src/main/java/org/jeecg/modules/utils/AiTestUils.java @@ -0,0 +1,101 @@ +package org.jeecg.modules.utils; + + +import javax.net.ssl.*; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.InputStream; +import java.net.URL; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; + +public class AiTestUils { + + private static class TrustAnyTrustManager implements X509TrustManager { + /** + * 璇ユ柟娉曟鏌ュ鎴风鐨勮瘉涔︼紝鑻ヤ笉淇′换璇ヨ瘉涔﹀垯鎶涘嚭寮傚父銆傜敱浜庢垜浠笉闇�瑕佸瀹㈡埛绔繘琛岃璇侊紝鍥犳鎴戜滑鍙渶瑕佹墽琛岄粯璁ょ殑淇′换绠$悊鍣ㄧ殑杩� + * 涓柟娉曘�� + * JSSE涓紝榛樿鐨勪俊浠荤鐞嗗櫒绫讳负TrustManager銆� + */ + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) + throws CertificateException { + } + + /** + * 璇ユ柟娉曟鏌ユ湇鍔″櫒鐨勮瘉涔︼紝鑻ヤ笉淇′换璇ヨ瘉涔﹀悓鏍锋姏鍑哄紓甯搞�傞�氳繃鑷繁瀹炵幇璇ユ柟娉曪紝鍙互浣夸箣淇′换鎴戜滑鎸囧畾鐨勪换浣曡瘉涔︺�� + * 鍦ㄥ疄鐜拌鏂规硶鏃讹紝涔熷彲浠ョ畝鍗曠殑涓嶅仛浠讳綍澶勭悊锛� 鍗充竴涓┖鐨勫嚱鏁颁綋锛岀敱浜庝笉浼氭姏鍑哄紓甯革紝瀹冨氨浼氫俊浠讳换浣曡瘉涔︺��(non-Javadoc) + */ + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) + throws CertificateException { + } + + /** + * @return 杩斿洖鍙椾俊浠荤殑X509璇佷功鏁扮粍銆� + */ + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[]{}; + } + } + + private static class TrustAnyHostnameVerifier implements HostnameVerifier { + @Override + public boolean verify(String hostname, SSLSession session) { + return true; + } + } + + /** + * post鏂瑰紡璇锋眰鏈嶅姟鍣�(https鍗忚) + * @param url 姹傚湴鍧� + * @param content 鍙傛暟 + * @return + */ + public static String sendJsonToHttpsPost(String url, String content) { + try { + /* + * 绫籋ttpsURLConnection浼间箮骞舵病鏈夋彁渚涙柟娉曡缃俊浠荤鐞嗗櫒銆傚叾瀹烇紝 + * HttpsURLConnection閫氳繃SSLSocket鏉ュ缓绔嬩笌HTTPS鐨勫畨鍏ㄨ繛鎺� + * 锛孲SLSocket瀵硅薄鏄敱SSLSocketFactory鐢熸垚鐨勩�� + * HttpsURLConnection鎻愪緵浜嗘柟娉晄etSSLSocketFactory + * (SSLSocketFactory)璁剧疆瀹冧娇鐢ㄧ殑SSLSocketFactory瀵硅薄銆� + * SSLSocketFactory閫氳繃SSLContext瀵硅薄鏉ヨ幏寰楋紝鍦ㄥ垵濮嬪寲SSLContext瀵硅薄鏃讹紝鍙寚瀹氫俊浠荤鐞嗗櫒瀵硅薄銆� + */ + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, + new java.security.SecureRandom()); + + URL console = new URL(url); + HttpsURLConnection conn = (HttpsURLConnection) console.openConnection(); + conn.setSSLSocketFactory(sc.getSocketFactory()); + conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); + conn.setDoOutput(true); + // 璁剧疆璇锋眰澶� + conn.setRequestProperty("Content-Type", "application/json;charset=utf-8"); + conn.connect(); + DataOutputStream out = new DataOutputStream(conn.getOutputStream()); + out.write(content.getBytes()); + // 鍒锋柊銆佸叧闂� + out.flush(); + out.close(); + InputStream is = conn.getInputStream(); + if (is != null) { + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int len = 0; + while ((len = is.read(buffer)) != -1) { + outStream.write(buffer, 0, len); + } + is.close(); + return outStream.toString(); + } + } catch (Exception e) { + + } + return null; + } + + +} -- Gitblit v1.9.3