From 6bb783f70da78ae6c728cd8513e427e3ad95f150 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 26 七月 2023 16:18:43 +0800 Subject: [PATCH] 优化代理参数的设置 --- src/main/java/com/moon/server/service/sys/ProxyService.java | 6 +++++- src/main/java/com/moon/server/helper/HttpHelper.java | 11 +++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/moon/server/helper/HttpHelper.java b/src/main/java/com/moon/server/helper/HttpHelper.java index 529711a..bd945ad 100644 --- a/src/main/java/com/moon/server/helper/HttpHelper.java +++ b/src/main/java/com/moon/server/helper/HttpHelper.java @@ -293,18 +293,17 @@ } private String filterStr(HttpServletRequest request, HttpServletResponse response, ResEntity res, String str) { - String[] strs = res.getUrl().contains(StaticData.AK) ? res.getUrl().split("\\?") : new String[]{res.getUrl(), null}; - if (str.contains(strs[0])) { + if (str.contains(res.getUrl())) { String proxyUrl = res.getProxy().replace("{token}", response.getHeader("token")); proxyUrl = request.getRequestURL().substring(0, request.getRequestURL().indexOf(proxyUrl) + proxyUrl.length()); - str = str.replace(strs[0], proxyUrl); + str = str.replace(res.getUrl(), proxyUrl); - if (!StringHelper.isEmpty(strs[1])) { - str = str.replace("?" + strs[1], "").replace("&" + strs[1], ""); + if (!StringHelper.isEmpty(res.getArgs())) { + str = str.replace("?" + res.getArgs(), "").replace("&" + res.getArgs(), ""); } if (StaticData.THREE == res.getFirm() && str.contains(StaticData.REST_LAYER)) { - str = str.replace(strs[0].replace("/wmts/layer/", StaticData.REST_LAYER), proxyUrl.replace("/proxy/", "/proxy/rest/")); + str = str.replace(res.getUrl().replace("/wmts/layer/", StaticData.REST_LAYER), proxyUrl.replace("/proxy/", "/proxy/rest/")); } } diff --git a/src/main/java/com/moon/server/service/sys/ProxyService.java b/src/main/java/com/moon/server/service/sys/ProxyService.java index f956b77..2de782d 100644 --- a/src/main/java/com/moon/server/service/sys/ProxyService.java +++ b/src/main/java/com/moon/server/service/sys/ProxyService.java @@ -245,9 +245,13 @@ url = url.replace("/wmts/layer/", "/rest/layer/"); } if (null != req.getQueryString()) { - url = url + (entity.getUrl().contains("?") ? "&" : "?") + req.getQueryString(); + url = url + (url.contains("?") ? "&" : "?") + req.getQueryString(); + } + if (!StringHelper.isNull(entity.getArgs())) { + url = url + (url.contains("?") ? "&" : "?") + entity.getArgs(); } + // System.out.println(url) return url; } -- Gitblit v1.9.3