From ff087240b3dee29ce4e14ad0836e76b9fdf312cf Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 19 八月 2025 09:28:07 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/lianhelihua_sh --- server/src/main/java/com/doumee/core/utils/HttpsUtil.java | 128 +++++++++++++++++++++++++++++++++++------- 1 files changed, 106 insertions(+), 22 deletions(-) diff --git a/server/src/main/java/com/doumee/core/utils/HttpsUtil.java b/server/src/main/java/com/doumee/core/utils/HttpsUtil.java index 2692602..06aed69 100644 --- a/server/src/main/java/com/doumee/core/utils/HttpsUtil.java +++ b/server/src/main/java/com/doumee/core/utils/HttpsUtil.java @@ -1,9 +1,9 @@ package com.doumee.core.utils; +import lombok.extern.slf4j.Slf4j; + import javax.net.ssl.*; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.OutputStream; +import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.security.KeyManagementException; @@ -11,7 +11,11 @@ import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +@Slf4j public class HttpsUtil { public static String get(String url,boolean ignoreSSL) { @@ -28,7 +32,80 @@ return connectionHttp(url, "POST", data, "application/json"); } } + public static String uploadTempMedia(String urlString ,String fileUrl){ + HttpsURLConnection conn= null; + try { + String fileName = fileUrl.substring(fileUrl.lastIndexOf("/") + 1); + // 鑾峰彇缃戠粶鍥剧墖 + URL mediaUrl = new URL(fileUrl); + HttpURLConnection meidaConn = (HttpURLConnection) mediaUrl.openConnection(); + meidaConn.setDoOutput(true); + meidaConn.setRequestMethod("GET"); + String result = null; + URL url=new URL(urlString); + conn=(HttpsURLConnection) url.openConnection(); + conn.setRequestMethod("POST");//浠OST鏂瑰紡鎻愪氦琛ㄥ崟 + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false);//POST鏂瑰紡涓嶈兘浣跨敤缂撳瓨 + //璁剧疆璇锋眰澶翠俊鎭� + conn.setRequestProperty("Connection", "Keep-Alive"); + conn.setRequestProperty("Charset", "UTF-8"); + //璁剧疆杈圭晫 + String BOUNDARY="----------"+System.currentTimeMillis(); + conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY); + //璇锋眰姝f枃淇℃伅 + //绗竴閮ㄥ垎 + StringBuilder sb=new StringBuilder(); + sb.append("--");//蹇呴』澶氫袱鏉¢亾 + sb.append(BOUNDARY); + sb.append("\r\n"); + sb.append("Content-Disposition: form-data;name=\"media\"; filename=\"" + fileName+"\"\r\n"); + + sb.append("Content-Type:application/octet-stream\r\n\r\n"); + System.out.println("sb:"+sb); + + //鑾峰緱杈撳嚭娴� + OutputStream out=new DataOutputStream(conn.getOutputStream()); + //杈撳嚭琛ㄥご + out.write(sb.toString().getBytes("UTF-8")); + //鏂囦欢姝f枃閮ㄥ垎 + //鎶婃枃浠朵互娴佺殑鏂瑰紡 鎺ㄩ�侀亾URL涓� + DataInputStream din=new DataInputStream(meidaConn.getInputStream()); + int bytes=0; + byte[] buffer=new byte[1024]; + while((bytes=din.read(buffer))!=-1){ + out.write(buffer,0,bytes); + } + din.close(); + //缁撳熬閮ㄥ垎 + byte[] foot=("\r\n--" + BOUNDARY + "--\r\n").getBytes("UTF-8");//瀹氫箟鏁版嵁鏈�鍚庡垎鍓茬嚎 + out.write(foot); + out.flush(); + out.close(); + if(HttpsURLConnection.HTTP_OK==conn.getResponseCode()){ + InputStream is = conn.getInputStream(); + byte[] b = new byte[4096]; + ByteArrayOutputStream baos = new ByteArrayOutputStream(b.length); + int len; + while ((len = is.read(b)) != -1) { + baos.write(b, 0, len); + } + is.close(); + return baos.toString("utf-8"); + } + return result; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if(conn != null){ + conn.disconnect(); + } + } + return null; + + } public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){ HttpsURLConnection connection = null; try { @@ -92,29 +169,36 @@ try { URL _url = new URL(url); connection = (HttpURLConnection) _url.openConnection(); - connection.setRequestMethod(method); + System.out.println(connection.getContentLength()); connection.setDoOutput(true); - connection.setDoInput(true); - connection.setUseCaches(false); - if(contentType != null){ - connection.setRequestProperty("Content-Type", contentType); - } - connection.connect(); - if(data != null){ - OutputStream outputStream = connection.getOutputStream(); - outputStream.write(data.getBytes("utf-8")); - outputStream.close(); - } - int responseCode = connection.getResponseCode(); - if (responseCode == HttpsURLConnection.HTTP_OK) { - return connection.getInputStream(); - } + connection.setRequestMethod("GET"); + return connection.getInputStream(); } catch (Exception e) { e.printStackTrace(); - } finally { - if(connection != null){ - connection.disconnect(); + } + return null; + } + public static Map<String,Object> connInputsteamReturnMap(String url, String method, String data, String contentType ){ + HttpURLConnection connection = null; + try { + Map<String,Object> map = new HashMap<>(); + URL _url = new URL(url); + connection = (HttpURLConnection) _url.openConnection(); + connection.setDoOutput(true); + connection.setRequestMethod("GET"); + int size =connection.getContentLength(); + log.error("浼佷笟鍥剧墖涓嬭浇娴佸疄闄呭ぇ灏忥細=========================="+size); + InputStream in =connection.getInputStream(); + if(in == null){ + log.error("浼佷笟鍥剧墖涓嬭浇娴佸疄闄呮祦涓虹┖锛�=========================="); + return null; } + log.error("浼佷笟鍥剧墖涓嬭浇娴佸ぇ灏忥細=========================="+in.available()); + map.put("data",in); + map.put("size",size); + return map; + } catch (Exception e) { + e.printStackTrace(); } return null; } -- Gitblit v1.9.3