From 05db93c48c69b1fc5db8bb2fce4c37014e92e450 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 19 八月 2025 10:01:30 +0800
Subject: [PATCH] 代码初始化
---
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