Merge pull request #654 from sukaiyi/v5-dev

issue[651]: URLUtil.normalize support ipv6
This commit is contained in:
Golden Looly 2019-12-05 08:56:46 +08:00 committed by GitHub
commit affcc57598
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 5 deletions

View File

@ -637,7 +637,7 @@ public class URLUtil {
* </pre>
*
* @param url URL字符串
* @param isEncodeBody 是否对URL中body部分的中文和特殊字符做转义不包括http:/
* @param isEncodeBody 是否对URL中body部分的中文和特殊字符做转义不包括 http:, /和域名部分
* @return 标准化后的URL字符串
* @since 4.4.1
*/
@ -667,9 +667,17 @@ public class URLUtil {
body = body.replaceAll("^[\\\\/]+", StrUtil.EMPTY);
// 替换多个\/为单个/
body = body.replace("\\", "/").replaceAll("//+", "/");
if (isEncodeBody) {
body = encode(body);
final int pathSepIndex = StrUtil.indexOf(body, '/');
String domain = body;
String path = "";
if (pathSepIndex > 0) {
domain = StrUtil.subPre(body, pathSepIndex);
path = StrUtil.subSuf(body, pathSepIndex);
}
return pre + body + StrUtil.nullToEmpty(params);
if (isEncodeBody) {
path = encode(path);
}
return pre + domain + path + StrUtil.nullToEmpty(params);
}
}

View File

@ -71,7 +71,7 @@ public class HttpUtilTest {
FileUtil.writeBytes(str, "f:/test/2D.jpg");
Console.log(str);
}
@Test
@Ignore
public void get12306Test() {
@ -274,4 +274,10 @@ public class HttpUtilTest {
String mimeType = HttpUtil.getMimeType("aaa.aaa");
Assert.assertNull(mimeType);
}
@Test
public void ipv6Test() {
String result = HttpUtil.get("http://[fe80::8f8:2022:a603:d180]:9439");
Console.log(result);
}
}