From 4470052c3b6bdeb18e45987f8aa293d1e93d0552 Mon Sep 17 00:00:00 2001
From: Ludc <2870569285@qq.com>
Date: 星期二, 18 十一月 2025 11:59:12 +0800
Subject: [PATCH] 所有文件上传接口增加文件安全校验逻辑。
---
Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/util/HttpUtil.java | 133 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 133 insertions(+), 0 deletions(-)
diff --git a/Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/util/HttpUtil.java b/Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/util/HttpUtil.java
new file mode 100644
index 0000000..fe9c887
--- /dev/null
+++ b/Source/BladeX-Tool/blade-starter-http/src/main/java/org/springblade/core/http/util/HttpUtil.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2018-2028, DreamLu All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: DreamLu 鍗㈡槬姊� (596392912@qq.com)
+ */
+package org.springblade.core.http.util;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.http.Exchange;
+import org.springblade.core.http.FormBuilder;
+import org.springblade.core.http.HttpRequest;
+
+import java.util.Map;
+
+/**
+ * Http璇锋眰宸ュ叿绫�
+ *
+ * @author Chill
+ */
+@Slf4j
+public class HttpUtil {
+
+ /**
+ * GET
+ *
+ * @param url 璇锋眰鐨剈rl
+ * @param queries 璇锋眰鐨勫弬鏁帮紝鍦ㄦ祻瑙堝櫒锛熷悗闈㈢殑鏁版嵁锛屾病鏈夊彲浠ヤ紶null
+ * @return String
+ */
+ public static String get(String url, Map<String, Object> queries) {
+ return get(url, null, queries);
+ }
+
+ /**
+ * GET
+ *
+ * @param url 璇锋眰鐨剈rl
+ * @param header 璇锋眰澶�
+ * @param queries 璇锋眰鐨勫弬鏁帮紝鍦ㄦ祻瑙堝櫒锛熷悗闈㈢殑鏁版嵁锛屾病鏈夊彲浠ヤ紶null
+ * @return String
+ */
+ public static String get(String url, Map<String, String> header, Map<String, Object> queries) {
+ // 娣诲姞璇锋眰澶�
+ HttpRequest httpRequest = HttpRequest.get(url);
+ if (header != null && header.keySet().size() > 0) {
+ header.forEach(httpRequest::addHeader);
+ }
+ // 娣诲姞鍙傛暟
+ httpRequest.queryMap(queries);
+ return httpRequest.execute().asString();
+ }
+
+ /**
+ * POST
+ *
+ * @param url 璇锋眰鐨剈rl
+ * @param params post form 鎻愪氦鐨勫弬鏁�
+ * @return String
+ */
+ public static String post(String url, Map<String, Object> params) {
+ return exchange(url, null, params).asString();
+ }
+
+ /**
+ * POST
+ *
+ * @param url 璇锋眰鐨剈rl
+ * @param header 璇锋眰澶�
+ * @param params post form 鎻愪氦鐨勫弬鏁�
+ * @return String
+ */
+ public static String post(String url, Map<String, String> header, Map<String, Object> params) {
+ return exchange(url, header, params).asString();
+ }
+
+ /**
+ * POST璇锋眰鍙戦�丣SON鏁版嵁
+ *
+ * @param url 璇锋眰鐨剈rl
+ * @param json 璇锋眰鐨刯son涓�
+ * @return String
+ */
+ public static String postJson(String url, String json) {
+ return exchange(url, null, json).asString();
+ }
+
+ /**
+ * POST璇锋眰鍙戦�丣SON鏁版嵁
+ *
+ * @param url 璇锋眰鐨剈rl
+ * @param header 璇锋眰澶�
+ * @param json 璇锋眰鐨刯son涓�
+ * @return String
+ */
+ public static String postJson(String url, Map<String, String> header, String json) {
+ return exchange(url, header, json).asString();
+ }
+
+ public static Exchange exchange(String url, Map<String, String> header, Map<String, Object> params) {
+ HttpRequest httpRequest = HttpRequest.post(url);
+ //娣诲姞璇锋眰澶�
+ if (header != null && header.keySet().size() > 0) {
+ header.forEach(httpRequest::addHeader);
+ }
+ FormBuilder formBuilder = httpRequest.formBuilder();
+ //娣诲姞鍙傛暟
+ if (params != null && params.keySet().size() > 0) {
+ params.forEach(formBuilder::add);
+ }
+ return formBuilder.execute();
+ }
+
+ public static Exchange exchange(String url, Map<String, String> header, String content) {
+ HttpRequest httpRequest = HttpRequest.post(url);
+ //娣诲姞璇锋眰澶�
+ if (header != null && header.keySet().size() > 0) {
+ header.forEach(httpRequest::addHeader);
+ }
+ return httpRequest.bodyString(content).execute();
+ }
+
+}
--
Gitblit v1.9.3