mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix bug
This commit is contained in:
parent
6ad682fb0a
commit
39df3623e1
@ -27,6 +27,7 @@
|
|||||||
* 【crypto 】 修复KeyUtil异常信息参数丢失问题(issue#1902@Github)
|
* 【crypto 】 修复KeyUtil异常信息参数丢失问题(issue#1902@Github)
|
||||||
* 【core 】 修复StrUtil.split和splittoArray不一致问题(issue#I4ELU5@Github)
|
* 【core 】 修复StrUtil.split和splittoArray不一致问题(issue#I4ELU5@Github)
|
||||||
* 【core 】 修复SymmetricCrypto未关闭CipherOutputStream导致的问题(issue#I4EMST@Gitee)
|
* 【core 】 修复SymmetricCrypto未关闭CipherOutputStream导致的问题(issue#I4EMST@Gitee)
|
||||||
|
* 【core 】 修复QueryBuilder对/转义问题(issue#1904@Github)
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ public final class UrlBuilder implements Serializable {
|
|||||||
*/
|
*/
|
||||||
public static UrlBuilder of(String url, Charset charset) {
|
public static UrlBuilder of(String url, Charset charset) {
|
||||||
Assert.notBlank(url, "Url must be not blank!");
|
Assert.notBlank(url, "Url must be not blank!");
|
||||||
return of(URLUtil.url(url.trim()), charset);
|
return of(URLUtil.url(StrUtil.trim(url)), charset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -312,7 +312,7 @@ public class UrlQuery {
|
|||||||
private static String toStr(CharSequence str, Charset charset, boolean isEncode) {
|
private static String toStr(CharSequence str, Charset charset, boolean isEncode) {
|
||||||
String result = StrUtil.str(str);
|
String result = StrUtil.str(str);
|
||||||
if (isEncode) {
|
if (isEncode) {
|
||||||
result = URLUtil.encodeAll(result, charset);
|
result = URLUtil.encodeFragment(result, charset);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -271,4 +271,14 @@ public class UrlBuilderTest {
|
|||||||
urlBuilder = UrlBuilder.ofHttp(urlBuilder.toString());
|
urlBuilder = UrlBuilder.ofHttp(urlBuilder.toString());
|
||||||
Assert.assertEquals(urlBuilder.toString(), urlBuilder.toString());
|
Assert.assertEquals(urlBuilder.toString(), urlBuilder.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void slashEncodeTest(){
|
||||||
|
// https://github.com/dromara/hutool/issues/1904
|
||||||
|
// 在query中,"/"是不可转义字符
|
||||||
|
// 见:https://www.rfc-editor.org/rfc/rfc3986.html#section-3.4
|
||||||
|
String url = "https://invoice.maycur.com/2b27a802-8423-4d41-86f5-63a6b259f61e.xlsx?download/2b27a802-8423-4d41-86f5-63a6b259f61e.xlsx&e=1630491088";
|
||||||
|
final UrlBuilder urlBuilder = UrlBuilder.ofHttp(url);
|
||||||
|
Assert.assertEquals(url, urlBuilder.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user