From a8c424e49db9213e879bf6c44cebccdfddaa1808 Mon Sep 17 00:00:00 2001 From: BradyXu <brady_xu@outlook.com> Date: 星期日, 12 五月 2024 02:00:55 +0800 Subject: [PATCH] 修复sip绑定监听多网卡IP时,新增上级平台新增失败的问题,本地IP改成从配置的多IP下拉选择 --- src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java | 40 +++++++++++++++++++++++----------------- 1 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java index a86aa0e..6f6d5ea 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java @@ -2,9 +2,8 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; -import com.genersoft.iot.vmp.conf.exception.ControllerException; -import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; -import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; +import com.genersoft.iot.vmp.media.bean.MediaServer; +import com.genersoft.iot.vmp.utils.SSLSocketClientUtil; import okhttp3.*; import okhttp3.logging.HttpLoggingInterceptor; import org.jetbrains.annotations.NotNull; @@ -13,11 +12,10 @@ import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; +import javax.net.ssl.X509TrustManager; import java.io.IOException; import java.net.ConnectException; -import java.net.MalformedURLException; import java.net.SocketTimeoutException; -import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,7 +38,7 @@ private OkHttpClient getClient(){ return getClient(null); } - + private OkHttpClient getClient(Integer readTimeOut){ if (client == null) { if (readTimeOut == null) { @@ -61,6 +59,10 @@ // OkHttp閫茶娣诲姞鏀旀埅鍣╨oggingInterceptor httpClientBuilder.addInterceptor(logging); } + X509TrustManager manager = SSLSocketClientUtil.getX509TrustManager(); + // 璁剧疆ssl + httpClientBuilder.sslSocketFactory(SSLSocketClientUtil.getSocketFactory(manager), manager); + httpClientBuilder.hostnameVerifier(SSLSocketClientUtil.getHostnameVerifier());//蹇界暐鏍¢獙 client = httpClientBuilder.build(); } return client; @@ -68,7 +70,7 @@ } - public JSONObject sendGet(MediaServerItem mediaServerItem, String api, Map<String, Object> param, RequestCallback callback) { + public JSONObject sendGet(MediaServer mediaServerItem, String api, Map<String, Object> param, RequestCallback callback) { OkHttpClient client = getClient(); if (mediaServerItem == null) { @@ -78,11 +80,11 @@ logger.warn("鏈惎鐢ˋssist鏈嶅姟"); return null; } - StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append(String.format("http://%s:%s/%s", mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort(), api)); + StringBuilder stringBuffer = new StringBuilder(); + stringBuffer.append(api); JSONObject responseJSON = null; - if (param != null && param.keySet().size() > 0) { + if (param != null && !param.keySet().isEmpty()) { stringBuffer.append("?"); int index = 1; for (String key : param.keySet()){ @@ -97,6 +99,7 @@ } String url = stringBuffer.toString(); + logger.info("[璁块棶assist]锛� {}", url); Request request = new Request.Builder() .get() .url(url) @@ -152,7 +155,7 @@ return responseJSON; } - public JSONObject sendPost(MediaServerItem mediaServerItem, String url, + public JSONObject sendPost(MediaServer mediaServerItem, String url, JSONObject param, ZLMRESTfulUtils.RequestCallback callback, Integer readTimeOut) { OkHttpClient client = getClient(readTimeOut); @@ -160,6 +163,7 @@ if (mediaServerItem == null) { return null; } + logger.info("[璁块棶assist]锛� {}, 鍙傛暟锛� {}", url, param); JSONObject responseJSON = new JSONObject(); //-2鑷畾涔夋祦濯掍綋 璋冪敤閿欒鐮� responseJSON.put("code",-2); @@ -240,14 +244,14 @@ return responseJSON; } - public JSONObject getInfo(MediaServerItem mediaServerItem, RequestCallback callback){ + public JSONObject getInfo(MediaServer mediaServerItem, RequestCallback callback){ Map<String, Object> param = new HashMap<>(); return sendGet(mediaServerItem, "api/record/info",param, callback); } - public JSONObject addTask(MediaServerItem mediaServerItem, String app, String stream, String startTime, + public JSONObject addTask(MediaServer mediaServerItem, String app, String stream, String startTime, String endTime, String callId, List<String> filePathList, String remoteHost) { - + JSONObject videoTaskInfoJSON = new JSONObject(); videoTaskInfoJSON.put("app", app); videoTaskInfoJSON.put("stream", stream); @@ -262,7 +266,8 @@ return sendPost(mediaServerItem, urlStr, videoTaskInfoJSON, null, 30); } - public JSONObject queryTaskList(MediaServerItem mediaServerItem, String app, String stream, String callId, String taskId, Boolean isEnd) { + public JSONObject queryTaskList(MediaServer mediaServerItem, String app, String stream, String callId, + String taskId, Boolean isEnd, String scheme) { Map<String, Object> param = new HashMap<>(); if (!ObjectUtils.isEmpty(app)) { param.put("app", app); @@ -279,7 +284,8 @@ if (!ObjectUtils.isEmpty(isEnd)) { param.put("isEnd", isEnd); } - - return sendGet(mediaServerItem, "api/record/file/download/task/list", param, null); + String urlStr = String.format("%s://%s:%s/api/record/file/download/task/list", + scheme, mediaServerItem.getIp(), mediaServerItem.getRecordAssistPort());; + return sendGet(mediaServerItem, urlStr, param, null); } } -- Gitblit v1.8.0