From 5a60b5408414926fd6fe6dbf39c958c749d31779 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 17 三月 2026 16:38:33 +0800
Subject: [PATCH] 【丽水】ssoLoginLyra 接口对接调整 免SSL 登录

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/OkHttpExample.java |   99 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 99 insertions(+), 0 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/OkHttpExample.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/OkHttpExample.java
index 2cd917d..cec9085 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/OkHttpExample.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/OkHttpExample.java
@@ -8,8 +8,17 @@
 import java.io.IOException;
 import java.security.SecureRandom;
 import java.security.cert.X509Certificate;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 public class OkHttpExample {
+    // 瀹氫箟 JSON 濯掍綋绫诲瀷
+    private static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
+    // 鍒涘缓 OkHttpClient 瀹炰緥锛堝叏灞�鍗曚緥鍗冲彲锛岄伩鍏嶉噸澶嶅垱寤猴級
+    private static final OkHttpClient client = new OkHttpClient.Builder()
+            .connectTimeout(5, TimeUnit.SECONDS)
+            .readTimeout(5, TimeUnit.SECONDS)
+            .build();
 
     public static OkHttpClient createUnsafeOkHttpClient() {
 
@@ -70,5 +79,95 @@
         }
     }
 
+    public static String sendGetRequestWithBearerToken(String url, String token) throws IOException {
+        // 鏋勫缓璇锋眰锛氭坊鍔� Authorization 璇锋眰澶达紙鏍煎紡锛欱earer + 绌烘牸 + token锛�
+        Request request = new Request.Builder()
+                .url(url)
+                .get() // GET 璇锋眰锛堝彲鐪佺暐锛岄粯璁ゅ氨鏄� GET锛�
+                .addHeader("Authorization", "Bearer " + token) // 鏍稿績锛欱earer Token 澶�
+                .addHeader("Content-Type", "application/json") // 鎸夐渶娣诲姞鍏朵粬澶�
+                .build();
+
+        // 鎵ц璇锋眰骞惰繑鍥炲搷搴�
+        try (Response response = client.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                throw new IOException("璇锋眰澶辫触锛屽搷搴旂爜锛�" + response.code() + "锛屾秷鎭細" + response.message());
+            }
+            // 璇诲彇鍝嶅簲浣擄紙string() 浼氳嚜鍔ㄥ叧闂祦锛屾棤闇�鎵嬪姩鍏筹級
+            return response.body().string();
+        }
+    }
+
+    // GET 璇锋眰鏂规硶
+    public static String get(String url) throws IOException {
+        Request request = new Request.Builder()
+                .url(url)
+                .get() // 榛樿涓� GET锛屽彲鐪佺暐
+                .build();
+
+        // 鎵ц璇锋眰骞惰幏鍙栧搷搴�
+        try (Response response = client.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                throw new IOException("GET 璇锋眰澶辫触锛�" + response);
+            }
+            return response.body().string(); // 璇诲彇鍝嶅簲浣�
+        }
+    }
+
+    // POST 璇锋眰鏂规硶锛堟惡甯� JSON 鍙傛暟锛�
+    public static String post(String url, String json) throws IOException {
+        RequestBody body = RequestBody.create(JSON, json);
+        Request request = new Request.Builder()
+                .url(url)
+                .post(body)
+                .build();
+
+        try (Response response = client.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                throw new IOException("POST 璇锋眰澶辫触锛�" + response);
+            }
+            return response.body().string();
+        }
+    }
+
+    // POST 璇锋眰鏂规硶锛坒orm-urlencoded + 蹇界暐SSL璇佷功锛岄�傜敤浜嶰Auth2 token绔偣锛�
+    public static String postFormUnsafe(String url, Map<String, String> formParams) throws IOException {
+        OkHttpClient unsafeClient = createUnsafeOkHttpClient();
+
+        FormBody.Builder formBuilder = new FormBody.Builder();
+        for (Map.Entry<String, String> entry : formParams.entrySet()) {
+            formBuilder.add(entry.getKey(), entry.getValue());
+        }
+
+        Request request = new Request.Builder()
+                .url(url)
+                .post(formBuilder.build())
+                .build();
+
+        try (Response response = unsafeClient.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                throw new IOException("POST form 璇锋眰澶辫触锛�" + response.code() + " " + response.message());
+            }
+            return response.body().string();
+        }
+    }
+
+    // GET 璇锋眰鏂规硶锛堝弬鏁版嫾鎺ュ埌URL + 蹇界暐SSL璇佷功锛岄�傜敤浜嶰Auth2 token绔偣锛�
+    public static String getUnsafe(String url, String token) throws IOException {
+        OkHttpClient unsafeClient = createUnsafeOkHttpClient();
+
+        Request request = new Request.Builder()
+                .url(url)
+                .addHeader("Authorization", "Bearer " + token) // 鏍稿績锛欱earer Token 澶�
+                .get()
+                .build();
+
+        try (Response response = unsafeClient.newCall(request).execute()) {
+            if (!response.isSuccessful()) {
+                throw new IOException("GET form 璇锋眰澶辫触锛�" + response.code() + " " + response.message());
+            }
+            return response.body().string();
+        }
+    }
 
 }

--
Gitblit v1.9.3