This commit is contained in:
Looly
2022-04-29 01:46:01 +08:00
parent b2f0dc7b0f
commit c753a53173
561 changed files with 1532 additions and 4201 deletions

View File

@@ -13,7 +13,7 @@ public class ContentTypeTest {
@Test
public void testBuild() {
String result = ContentType.build(ContentType.JSON, CharsetUtil.CHARSET_UTF_8);
String result = ContentType.build(ContentType.JSON, CharsetUtil.UTF_8);
Assert.assertEquals("application/json;charset=UTF-8", result);
}
}

View File

@@ -95,7 +95,7 @@ public class HttpRequestTest {
// 自定义构建HTTP GET请求发送Http GET请求针对HTTPS安全加密可以自定义SSL
HttpRequest request = HttpRequest.get(url)
// 自定义返回编码
.charset(CharsetUtil.CHARSET_GBK)
.charset(CharsetUtil.GBK)
// 禁用缓存
.disableCache()
// 自定义SSL版本

View File

@@ -20,7 +20,7 @@ public class HttpUtilTest {
@Ignore
public void postTest() {
String result = HttpUtil.createPost("api.uhaozu.com/goods/description/1120448506")
.charset(CharsetUtil.UTF_8)
.charset(CharsetUtil.NAME_UTF_8)
.execute().body();
Console.log(result);
}
@@ -40,7 +40,7 @@ public class HttpUtilTest {
@Test
@Ignore
public void getTest() {
String result1 = HttpUtil.get("http://photo.qzone.qq.com/fcgi-bin/fcg_list_album?uin=88888&outstyle=2", CharsetUtil.CHARSET_GBK);
String result1 = HttpUtil.get("http://photo.qzone.qq.com/fcgi-bin/fcg_list_album?uin=88888&outstyle=2", CharsetUtil.GBK);
Console.log(result1);
}
@@ -97,7 +97,7 @@ public class HttpUtilTest {
public void downloadStringTest() {
String url = "https://www.baidu.com";
// 从远程直接读取字符串需要自定义编码直接调用JDK方法
String content2 = HttpUtil.downloadString(url, CharsetUtil.UTF_8);
String content2 = HttpUtil.downloadString(url, CharsetUtil.NAME_UTF_8);
Console.log(content2);
}
@@ -121,7 +121,7 @@ public class HttpUtilTest {
@Test
public void decodeParamsTest() {
String paramsStr = "uuuu=0&a=b&c=%3F%23%40!%24%25%5E%26%3Ddsssss555555";
Map<String, List<String>> map = HttpUtil.decodeParams(paramsStr, CharsetUtil.UTF_8);
Map<String, List<String>> map = HttpUtil.decodeParams(paramsStr, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("0", map.get("uuuu").get(0));
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("?#@!$%^&=dsssss555555", map.get("c").get(0));
@@ -130,7 +130,7 @@ public class HttpUtilTest {
@Test
public void decodeParamMapTest() {
// 参数值存在分界标记等号时
Map<String, String> paramMap = HttpUtil.decodeParamMap("https://www.xxx.com/api.action?aa=123&f_token=NzBkMjQxNDM1MDVlMDliZTk1OTU3ZDI1OTI0NTBiOWQ=", CharsetUtil.CHARSET_UTF_8);
Map<String, String> paramMap = HttpUtil.decodeParamMap("https://www.xxx.com/api.action?aa=123&f_token=NzBkMjQxNDM1MDVlMDliZTk1OTU3ZDI1OTI0NTBiOWQ=", CharsetUtil.UTF_8);
Assert.assertEquals("123",paramMap.get("aa"));
Assert.assertEquals("NzBkMjQxNDM1MDVlMDliZTk1OTU3ZDI1OTI0NTBiOWQ=",paramMap.get("f_token"));
}
@@ -138,7 +138,7 @@ public class HttpUtilTest {
@Test
public void toParamsTest() {
String paramsStr = "uuuu=0&a=b&c=3Ddsssss555555";
Map<String, List<String>> map = HttpUtil.decodeParams(paramsStr, CharsetUtil.UTF_8);
Map<String, List<String>> map = HttpUtil.decodeParams(paramsStr, CharsetUtil.NAME_UTF_8);
String encodedParams = HttpUtil.toParams(map);
Assert.assertEquals(paramsStr, encodedParams);
@@ -148,52 +148,52 @@ public class HttpUtilTest {
public void encodeParamTest() {
// ?单独存在去除之,&单位位于末尾去除之
String paramsStr = "?a=b&c=d&";
String encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
String encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=b&c=d", encode);
// url不参与转码
paramsStr = "http://www.abc.dd?a=b&c=d&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("http://www.abc.dd?a=b&c=d", encode);
// b=b中的=被当作值的一部分不做encode
paramsStr = "a=b=b&c=d&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=b=b&c=d", encode);
// =d的情况被处理为key为空
paramsStr = "a=bbb&c=d&=d";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=bbb&c=d&=d", encode);
// d=的情况被处理为value为空
paramsStr = "a=bbb&c=d&d=";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=bbb&c=d&d=", encode);
// 多个&&被处理为单个,相当于空条件
paramsStr = "a=bbb&c=d&&&d=";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=bbb&c=d&d=", encode);
// &d&相当于只有键,无值得情况
paramsStr = "a=bbb&c=d&d&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=bbb&c=d&d=", encode);
// 中文的键和值被编码
paramsStr = "a=bbb&c=你好&哈喽&";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("a=bbb&c=%E4%BD%A0%E5%A5%BD&%E5%93%88%E5%96%BD=", encode);
// URL原样输出
paramsStr = "https://www.hutool.cn/";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals(paramsStr, encode);
// URL原样输出
paramsStr = "https://www.hutool.cn/?";
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.CHARSET_UTF_8);
encode = HttpUtil.encodeParams(paramsStr, CharsetUtil.UTF_8);
Assert.assertEquals("https://www.hutool.cn/", encode);
}
@@ -201,41 +201,41 @@ public class HttpUtilTest {
public void decodeParamTest() {
// 开头的?被去除
String a = "?a=b&c=d&";
Map<String, List<String>> map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
Map<String, List<String>> map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
// =e被当作空为keye为value
a = "?a=b&c=d&=e";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("e", map.get("").get(0));
// 多余的&去除
a = "?a=b&c=d&=e&&&&";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("e", map.get("").get(0));
// 值为空
a = "?a=b&c=d&e=";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("", map.get("e").get(0));
// &=被作为键和值都为空
a = "a=b&c=d&=";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertEquals("", map.get("").get(0));
// &e&这类单独的字符串被当作key
a = "a=b&c=d&e&";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("b", map.get("a").get(0));
Assert.assertEquals("d", map.get("c").get(0));
Assert.assertNull(map.get("e").get(0));
@@ -243,7 +243,7 @@ public class HttpUtilTest {
// 被编码的键和值被还原
a = "a=bbb&c=%E4%BD%A0%E5%A5%BD&%E5%93%88%E5%96%BD=";
map = HttpUtil.decodeParams(a, CharsetUtil.UTF_8);
map = HttpUtil.decodeParams(a, CharsetUtil.NAME_UTF_8);
Assert.assertEquals("bbb", map.get("a").get(0));
Assert.assertEquals("你好", map.get("c").get(0));
Assert.assertEquals("", map.get("哈喽").get(0));
@@ -270,12 +270,12 @@ public class HttpUtilTest {
param.put("Timestamp", 123432453);
param.put("Version", "1.0");
String urlWithForm = HttpUtil.urlWithForm("http://api.hutool.cn/login?type=aaa", param, CharsetUtil.CHARSET_UTF_8, false);
String urlWithForm = HttpUtil.urlWithForm("http://api.hutool.cn/login?type=aaa", param, CharsetUtil.UTF_8, false);
Assert.assertEquals(
"http://api.hutool.cn/login?type=aaa&AccessKeyId=123&Action=DescribeDomainRecords&Format=date&DomainName=lesper.cn&SignatureMethod=POST&SignatureNonce=123&SignatureVersion=4.3.1&Timestamp=123432453&Version=1.0",
urlWithForm);
urlWithForm = HttpUtil.urlWithForm("http://api.hutool.cn/login?type=aaa", param, CharsetUtil.CHARSET_UTF_8, false);
urlWithForm = HttpUtil.urlWithForm("http://api.hutool.cn/login?type=aaa", param, CharsetUtil.UTF_8, false);
Assert.assertEquals(
"http://api.hutool.cn/login?type=aaa&AccessKeyId=123&Action=DescribeDomainRecords&Format=date&DomainName=lesper.cn&SignatureMethod=POST&SignatureNonce=123&SignatureVersion=4.3.1&Timestamp=123432453&Version=1.0",
urlWithForm);
@@ -298,13 +298,13 @@ public class HttpUtilTest {
@Test
public void normalizeParamsTest() {
String encodeResult = HttpUtil.normalizeParams("参数", CharsetUtil.CHARSET_UTF_8);
String encodeResult = HttpUtil.normalizeParams("参数", CharsetUtil.UTF_8);
Assert.assertEquals("%E5%8F%82%E6%95%B0", encodeResult);
}
@Test
public void normalizeBlankParamsTest() {
String encodeResult = HttpUtil.normalizeParams("", CharsetUtil.CHARSET_UTF_8);
String encodeResult = HttpUtil.normalizeParams("", CharsetUtil.UTF_8);
Assert.assertEquals("", encodeResult);
}

View File

@@ -20,7 +20,7 @@ public class MultipartBodyTest {
form.put("pic3", new HttpResource(
new StringResource("pic3 content", "pic3.jpg"), "image/jpeg"));
final MultipartBody body = MultipartBody.create(form, CharsetUtil.CHARSET_UTF_8);
final MultipartBody body = MultipartBody.create(form, CharsetUtil.UTF_8);
Assert.assertNotNull(body.toString());
// Console.log(body);

View File

@@ -21,7 +21,7 @@ public class SoapClientTest {
public void requestTest() {
SoapClient client = SoapClient.create("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx")
.setMethod("web:getCountryCityByIp", "http://WebXml.com.cn/")
.setCharset(CharsetUtil.CHARSET_GBK)
.setCharset(CharsetUtil.GBK)
.setParam("theIpAddress", "218.21.240.106");
Console.log(client.getMsgStr(true));