From a4c8ebc572103b6f8c9cadf8e5356cdd761421ae Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 3 May 2020 08:44:04 +0800 Subject: [PATCH] fix url bug --- .../src/main/java/cn/hutool/core/net/url/UrlPath.java | 5 +++++ .../test/java/cn/hutool/core/net/UrlBuilderTest.java | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java index bf11b0837..31a1b715f 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlPath.java @@ -101,6 +101,11 @@ public class UrlPath { if (StrUtil.isNotEmpty(path)) { path = path.trim(); + // 原URL中以/结尾,则这个规则需保留,issue#I1G44J@Gitee + if(StrUtil.endWith(path, CharUtil.SLASH)){ + this.withEngTag = true; + } + final StringTokenizer tokenizer = new StringTokenizer(path, "/"); while (tokenizer.hasMoreTokens()) { add(URLUtil.decode(tokenizer.nextToken(), charset)); diff --git a/hutool-core/src/test/java/cn/hutool/core/net/UrlBuilderTest.java b/hutool-core/src/test/java/cn/hutool/core/net/UrlBuilderTest.java index a09f24d35..c5f2f1a68 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/UrlBuilderTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/UrlBuilderTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.net; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.util.CharsetUtil; import org.junit.Assert; @@ -188,4 +189,13 @@ public class UrlBuilderTest { "&chksm=6cbda3a25bca2ab4516410db6ce6e125badaac2f8c5548ea6e18eab6dc3c5422cb8cbe1095f7", builder.toString()); } + + @Test + public void endWithSlashTest(){ + // 原URL中以/结尾,则这个规则需保留,issue#I1G44J@Gitee + final String today = DateUtil.date().toString("yyyyMMdd"); + final String getWorkDayUrl = "https://tool.bitefu.net/jiari/?info=1&d=" + today; + final UrlBuilder builder = UrlBuilder.ofHttp(getWorkDayUrl, CharsetUtil.CHARSET_UTF_8); + Assert.assertEquals(getWorkDayUrl, builder.toString()); + } }