mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix code
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
|
@@ -2,7 +2,7 @@ package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
@@ -2,7 +2,7 @@ package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.text.escape.EscapeUtil;
|
||||
import cn.hutool.core.regex.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
/**
|
||||
* HTML工具类
|
||||
|
@@ -5,7 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.map.CaseInsensitiveMap;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.ArrayList;
|
||||
@@ -27,7 +27,7 @@ public abstract class HttpBase<T> {
|
||||
/**
|
||||
* 默认的请求编码、URL的encode、decode编码
|
||||
*/
|
||||
protected static final Charset DEFAULT_CHARSET = CharsetUtil.CHARSET_UTF_8;
|
||||
protected static final Charset DEFAULT_CHARSET = CharsetUtil.UTF_8;
|
||||
|
||||
/**
|
||||
* HTTP/1.0
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.reflect.ReflectUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.core.net.URLUtil;
|
||||
import cn.hutool.http.ssl.DefaultSSLInfo;
|
||||
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
@@ -267,8 +267,8 @@ public class HttpConnection {
|
||||
// Https请求
|
||||
final HttpsURLConnection httpsConn = (HttpsURLConnection) conn;
|
||||
// 验证域
|
||||
httpsConn.setHostnameVerifier(ObjectUtil.defaultIfNull(hostnameVerifier, DefaultSSLInfo.TRUST_ANY_HOSTNAME_VERIFIER));
|
||||
httpsConn.setSSLSocketFactory(ObjectUtil.defaultIfNull(ssf, DefaultSSLInfo.DEFAULT_SSF));
|
||||
httpsConn.setHostnameVerifier(ObjUtil.defaultIfNull(hostnameVerifier, DefaultSSLInfo.TRUST_ANY_HOSTNAME_VERIFIER));
|
||||
httpsConn.setSSLSocketFactory(ObjUtil.defaultIfNull(ssf, DefaultSSLInfo.DEFAULT_SSF));
|
||||
}
|
||||
|
||||
return this;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
/**
|
||||
* HTTP异常
|
||||
|
@@ -2,7 +2,7 @@ package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.core.util.ReflectUtil;
|
||||
import cn.hutool.core.reflect.ReflectUtil;
|
||||
import cn.hutool.http.cookie.GlobalCookieManager;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.http;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
|
@@ -14,8 +14,8 @@ import cn.hutool.core.net.SSLUtil;
|
||||
import cn.hutool.core.net.url.UrlBuilder;
|
||||
import cn.hutool.core.net.url.UrlQuery;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.http.body.BytesBody;
|
||||
import cn.hutool.http.body.FormUrlEncodedBody;
|
||||
import cn.hutool.http.body.MultipartBody;
|
||||
@@ -482,7 +482,7 @@ public class HttpRequest extends HttpBase<HttpRequest> {
|
||||
* @return this
|
||||
*/
|
||||
public HttpRequest form(String name, Object value) {
|
||||
if (StrUtil.isBlank(name) || ObjectUtil.isNull(value)) {
|
||||
if (StrUtil.isBlank(name) || ObjUtil.isNull(value)) {
|
||||
return this; // 忽略非法的form表单项内容;
|
||||
}
|
||||
|
||||
|
@@ -7,9 +7,9 @@ import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.io.StreamProgress;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.net.URLEncoder;
|
||||
import cn.hutool.core.regex.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.http.cookie.GlobalCookieManager;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
@@ -439,10 +439,10 @@ public class HttpResponse extends HttpBase<HttpResponse> implements Closeable {
|
||||
fileName = StrUtil.subSuf(path, path.lastIndexOf('/') + 1);
|
||||
if (StrUtil.isBlank(fileName)) {
|
||||
// 编码后的路径做为文件名
|
||||
fileName = URLUtil.encodeQuery(path, charset);
|
||||
fileName = URLEncoder.encodeQuery(path, charset);
|
||||
} else {
|
||||
// issue#I4K0FS@Gitee
|
||||
fileName = URLUtil.decode(fileName, charset);
|
||||
fileName = URLEncoder.encodeQuery(fileName, charset);
|
||||
}
|
||||
}
|
||||
return FileUtil.file(targetFileOrDir, fileName);
|
||||
|
@@ -7,13 +7,13 @@ import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.io.StreamProgress;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.net.RFC3986;
|
||||
import cn.hutool.core.net.URLEncoder;
|
||||
import cn.hutool.core.net.url.UrlQuery;
|
||||
import cn.hutool.core.regex.ReUtil;
|
||||
import cn.hutool.core.text.StrBuilder;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.regex.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.http.cookie.GlobalCookieManager;
|
||||
import cn.hutool.http.server.SimpleServer;
|
||||
|
||||
@@ -433,7 +433,7 @@ public class HttpUtil {
|
||||
* @return url参数
|
||||
*/
|
||||
public static String toParams(Map<String, ?> paramMap) {
|
||||
return toParams(paramMap, CharsetUtil.CHARSET_UTF_8);
|
||||
return toParams(paramMap, CharsetUtil.UTF_8);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -560,13 +560,13 @@ public class HttpUtil {
|
||||
|
||||
// 结尾处理
|
||||
if (null != name) {
|
||||
builder.append(URLUtil.encodeQuery(name, charset)).append('=');
|
||||
builder.append(URLEncoder.encodeQuery(name, charset)).append('=');
|
||||
}
|
||||
if (pos != i) {
|
||||
if (null == name && pos > 0) {
|
||||
builder.append('=');
|
||||
}
|
||||
builder.append(URLUtil.encodeQuery(paramPart.substring(pos, i), charset));
|
||||
builder.append(URLEncoder.encodeQuery(paramPart.substring(pos, i), charset));
|
||||
}
|
||||
|
||||
// 以&结尾则去除之
|
||||
@@ -746,7 +746,7 @@ public class HttpUtil {
|
||||
}
|
||||
|
||||
if (null == charset) {
|
||||
charset = CharsetUtil.CHARSET_UTF_8;
|
||||
charset = CharsetUtil.UTF_8;
|
||||
}
|
||||
String content = new String(contentBytes, charset);
|
||||
if (isGetCharsetFromContent) {
|
||||
@@ -757,9 +757,9 @@ public class HttpUtil {
|
||||
charsetInContent = Charset.forName(charsetInContentStr);
|
||||
} catch (Exception e) {
|
||||
if (StrUtil.containsIgnoreCase(charsetInContentStr, "utf-8") || StrUtil.containsIgnoreCase(charsetInContentStr, "utf8")) {
|
||||
charsetInContent = CharsetUtil.CHARSET_UTF_8;
|
||||
charsetInContent = CharsetUtil.UTF_8;
|
||||
} else if (StrUtil.containsIgnoreCase(charsetInContentStr, "gbk")) {
|
||||
charsetInContent = CharsetUtil.CHARSET_GBK;
|
||||
charsetInContent = CharsetUtil.GBK;
|
||||
}
|
||||
// ignore
|
||||
}
|
||||
@@ -781,7 +781,7 @@ public class HttpUtil {
|
||||
* @since 4.6.5
|
||||
*/
|
||||
public static String getMimeType(String filePath, String defaultValue) {
|
||||
return ObjectUtil.defaultIfNull(getMimeType(filePath), defaultValue);
|
||||
return ObjUtil.defaultIfNull(getMimeType(filePath), defaultValue);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -6,7 +6,7 @@ import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.io.resource.MultiResource;
|
||||
import cn.hutool.core.io.resource.Resource;
|
||||
import cn.hutool.core.io.resource.StringResource;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package cn.hutool.http.body;
|
||||
|
||||
import cn.hutool.core.net.url.UrlQuery;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Map;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package cn.hutool.http.cookie;
|
||||
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.core.net.URLUtil;
|
||||
import cn.hutool.http.HttpConnection;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -15,7 +15,7 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* 全局Cookie管理器,只针对Hutool请求有效
|
||||
*
|
||||
*
|
||||
* @author Looly
|
||||
* @since 4.5.15
|
||||
*/
|
||||
@@ -26,19 +26,19 @@ public class GlobalCookieManager {
|
||||
static {
|
||||
cookieManager = new CookieManager(new ThreadLocalCookieStore(), CookiePolicy.ACCEPT_ALL);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 自定义{@link CookieManager}
|
||||
*
|
||||
*
|
||||
* @param customCookieManager 自定义的{@link CookieManager}
|
||||
*/
|
||||
public static void setCookieManager(CookieManager customCookieManager) {
|
||||
cookieManager = customCookieManager;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取全局{@link CookieManager}
|
||||
*
|
||||
*
|
||||
* @return {@link CookieManager}
|
||||
*/
|
||||
public static CookieManager getCookieManager() {
|
||||
@@ -58,7 +58,7 @@ public class GlobalCookieManager {
|
||||
|
||||
/**
|
||||
* 将本地存储的Cookie信息附带到Http请求中,不覆盖用户定义好的Cookie
|
||||
*
|
||||
*
|
||||
* @param conn {@link HttpConnection}
|
||||
*/
|
||||
public static void add(HttpConnection conn) {
|
||||
@@ -81,7 +81,7 @@ public class GlobalCookieManager {
|
||||
|
||||
/**
|
||||
* 存储响应的Cookie信息到本地
|
||||
*
|
||||
*
|
||||
* @param conn {@link HttpConnection}
|
||||
*/
|
||||
public static void store(HttpConnection conn) {
|
||||
|
@@ -15,7 +15,7 @@ import java.nio.charset.Charset;
|
||||
*/
|
||||
public class HttpServerBase implements Closeable {
|
||||
|
||||
final static Charset DEFAULT_CHARSET = CharsetUtil.CHARSET_UTF_8;
|
||||
final static Charset DEFAULT_CHARSET = CharsetUtil.UTF_8;
|
||||
|
||||
final HttpExchange httpExchange;
|
||||
|
||||
|
@@ -10,7 +10,7 @@ import cn.hutool.core.net.multipart.MultipartFormData;
|
||||
import cn.hutool.core.net.multipart.UploadSetting;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.http.Header;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.http.Method;
|
||||
@@ -145,7 +145,7 @@ public class HttpServerRequest extends HttpServerBase {
|
||||
public String getHeader(String headerKey, Charset charset) {
|
||||
final String header = getHeader(headerKey);
|
||||
if (null != header) {
|
||||
return CharsetUtil.convert(header, CharsetUtil.CHARSET_ISO_8859_1, charset);
|
||||
return CharsetUtil.convert(header, CharsetUtil.ISO_8859_1, charset);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@@ -3,9 +3,9 @@ package cn.hutool.http.server;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import cn.hutool.core.net.URLEncoder;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.http.ContentType;
|
||||
import cn.hutool.http.Header;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
@@ -255,7 +255,7 @@ public class HttpServerResponse extends HttpServerBase {
|
||||
* @return 响应数据流
|
||||
*/
|
||||
public PrintWriter getWriter() {
|
||||
final Charset charset = ObjectUtil.defaultIfNull(this.charset, DEFAULT_CHARSET);
|
||||
final Charset charset = ObjUtil.defaultIfNull(this.charset, DEFAULT_CHARSET);
|
||||
return new PrintWriter(new OutputStreamWriter(getOut(), charset));
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ public class HttpServerResponse extends HttpServerBase {
|
||||
* @return this
|
||||
*/
|
||||
public HttpServerResponse write(String data) {
|
||||
final Charset charset = ObjectUtil.defaultIfNull(this.charset, DEFAULT_CHARSET);
|
||||
final Charset charset = ObjUtil.defaultIfNull(this.charset, DEFAULT_CHARSET);
|
||||
return write(StrUtil.bytes(data, charset));
|
||||
}
|
||||
|
||||
@@ -391,7 +391,7 @@ public class HttpServerResponse extends HttpServerBase {
|
||||
if(StrUtil.isBlank(fileName)){
|
||||
fileName = file.getName();
|
||||
}
|
||||
final String contentType = ObjectUtil.defaultIfNull(HttpUtil.getMimeType(fileName), "application/octet-stream");
|
||||
final String contentType = ObjUtil.defaultIfNull(HttpUtil.getMimeType(fileName), "application/octet-stream");
|
||||
BufferedInputStream in = null;
|
||||
try {
|
||||
in = FileUtil.getInputStream(file);
|
||||
@@ -425,11 +425,11 @@ public class HttpServerResponse extends HttpServerBase {
|
||||
* @since 5.2.7
|
||||
*/
|
||||
public HttpServerResponse write(InputStream in, int length, String contentType, String fileName) {
|
||||
final Charset charset = ObjectUtil.defaultIfNull(this.charset, DEFAULT_CHARSET);
|
||||
final Charset charset = ObjUtil.defaultIfNull(this.charset, DEFAULT_CHARSET);
|
||||
|
||||
if (false == contentType.startsWith("text/")) {
|
||||
// 非文本类型数据直接走下载
|
||||
setHeader(Header.CONTENT_DISPOSITION, StrUtil.format("attachment;filename={}", URLUtil.encode(fileName, charset)));
|
||||
setHeader(Header.CONTENT_DISPOSITION, StrUtil.format("attachment;filename={}", URLEncoder.encodeAll(fileName, charset)));
|
||||
}
|
||||
return write(in, length, contentType);
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@ package cn.hutool.http.server;
|
||||
import cn.hutool.core.io.IORuntimeException;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.thread.GlobalThreadPool;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.http.server.action.Action;
|
||||
import cn.hutool.http.server.action.RootAction;
|
||||
import cn.hutool.http.server.filter.HttpFilter;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.http.ssl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
import javax.net.ssl.SSLSocketFactory;
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package cn.hutool.http.useragent;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
/**
|
||||
* User-Agent解析器
|
||||
|
@@ -3,8 +3,8 @@ package cn.hutool.http.webservice;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
import cn.hutool.core.util.XmlUtil;
|
||||
import cn.hutool.http.HttpBase;
|
||||
import cn.hutool.http.HttpGlobalConfig;
|
||||
@@ -356,7 +356,7 @@ public class SoapClient extends HttpBase<SoapClient> {
|
||||
* @return this
|
||||
*/
|
||||
public SoapClient setMethod(String methodName) {
|
||||
return setMethod(methodName, ObjectUtil.defaultIfNull(this.namespaceURI, XMLConstants.NULL_NS_URI));
|
||||
return setMethod(methodName, ObjUtil.defaultIfNull(this.namespaceURI, XMLConstants.NULL_NS_URI));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package cn.hutool.http.webservice;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.text.StrUtil;
|
||||
|
||||
/**
|
||||
* SOAP异常
|
||||
*
|
||||
*
|
||||
* @author xiaoleilu
|
||||
*/
|
||||
public class SoapRuntimeException extends RuntimeException {
|
||||
|
@@ -14,7 +14,7 @@ import cn.hutool.core.util.XmlUtil;
|
||||
|
||||
/**
|
||||
* SOAP相关工具类
|
||||
*
|
||||
*
|
||||
* @author looly
|
||||
* @since 4.5.7
|
||||
*/
|
||||
@@ -22,7 +22,7 @@ public class SoapUtil {
|
||||
|
||||
/**
|
||||
* 创建SOAP客户端,默认使用soap1.1版本协议
|
||||
*
|
||||
*
|
||||
* @param url WS的URL地址
|
||||
* @return {@link SoapClient}
|
||||
*/
|
||||
@@ -32,7 +32,7 @@ public class SoapUtil {
|
||||
|
||||
/**
|
||||
* 创建SOAP客户端
|
||||
*
|
||||
*
|
||||
* @param url WS的URL地址
|
||||
* @param protocol 协议,见{@link SoapProtocol}
|
||||
* @return {@link SoapClient}
|
||||
@@ -43,7 +43,7 @@ public class SoapUtil {
|
||||
|
||||
/**
|
||||
* 创建SOAP客户端
|
||||
*
|
||||
*
|
||||
* @param url WS的URL地址
|
||||
* @param protocol 协议,见{@link SoapProtocol}
|
||||
* @param namespaceURI 方法上的命名空间URI
|
||||
@@ -62,7 +62,7 @@ public class SoapUtil {
|
||||
* @return SOAP XML字符串
|
||||
*/
|
||||
public static String toString(SOAPMessage message, boolean pretty) {
|
||||
return toString(message, pretty, CharsetUtil.CHARSET_UTF_8);
|
||||
return toString(message, pretty, CharsetUtil.UTF_8);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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版本
|
||||
|
@@ -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被当作空为key,e为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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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));
|
||||
|
Reference in New Issue
Block a user