mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-09 15:17:59 +08:00
fix code
This commit is contained in:
parent
2dae6e54c0
commit
bdef4713e2
@ -20,6 +20,8 @@ import java.util.Map;
|
|||||||
* <pre>
|
* <pre>
|
||||||
* key1=v1&key2=&key3=v3
|
* key1=v1&key2=&key3=v3
|
||||||
* </pre>
|
* </pre>
|
||||||
|
* 查询封装分为解析查询字符串和构建查询字符串,解析可通过charset为null来自定义是否decode编码后的内容,<br>
|
||||||
|
* 构建则通过charset是否为null是否encode参数键值对
|
||||||
*
|
*
|
||||||
* @author looly
|
* @author looly
|
||||||
* @since 5.3.1
|
* @since 5.3.1
|
||||||
|
@ -130,4 +130,11 @@ public class UrlQueryTest {
|
|||||||
final String a = UrlQuery.of(MapUtil.of("a ", " ")).build(CharsetUtil.CHARSET_UTF_8);
|
final String a = UrlQuery.of(MapUtil.of("a ", " ")).build(CharsetUtil.CHARSET_UTF_8);
|
||||||
Assert.assertEquals("a%20=%20", a);
|
Assert.assertEquals("a%20=%20", a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void parsePercentTest(){
|
||||||
|
String queryStr = "a%2B=ccc";
|
||||||
|
final UrlQuery query = UrlQuery.of(queryStr, null);
|
||||||
|
Assert.assertEquals(queryStr, query.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ import cn.hutool.core.map.MapUtil;
|
|||||||
import cn.hutool.core.net.SSLUtil;
|
import cn.hutool.core.net.SSLUtil;
|
||||||
import cn.hutool.core.net.url.UrlBuilder;
|
import cn.hutool.core.net.url.UrlBuilder;
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
|
import cn.hutool.core.util.CharsetUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.body.BytesBody;
|
import cn.hutool.http.body.BytesBody;
|
||||||
@ -30,6 +31,7 @@ import java.net.HttpURLConnection;
|
|||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.Proxy;
|
import java.net.Proxy;
|
||||||
import java.net.URLStreamHandler;
|
import java.net.URLStreamHandler;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -43,6 +45,112 @@ import java.util.function.Consumer;
|
|||||||
*/
|
*/
|
||||||
public class HttpRequest extends HttpBase<HttpRequest> {
|
public class HttpRequest extends HttpBase<HttpRequest> {
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------- static Http Method start
|
||||||
|
|
||||||
|
/**
|
||||||
|
* POST请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest post(String url) {
|
||||||
|
return of(url).method(Method.POST);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GET请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest get(String url) {
|
||||||
|
return of(url).method(Method.GET);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HEAD请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest head(String url) {
|
||||||
|
return of(url).method(Method.HEAD);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OPTIONS请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest options(String url) {
|
||||||
|
return of(url).method(Method.OPTIONS);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PUT请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest put(String url) {
|
||||||
|
return of(url).method(Method.PUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PATCH请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
* @since 3.0.9
|
||||||
|
*/
|
||||||
|
public static HttpRequest patch(String url) {
|
||||||
|
return of(url).method(Method.PATCH);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DELETE请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest delete(String url) {
|
||||||
|
return of(url).method(Method.DELETE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TRACE请求
|
||||||
|
*
|
||||||
|
* @param url URL
|
||||||
|
* @return HttpRequest
|
||||||
|
*/
|
||||||
|
public static HttpRequest trace(String url) {
|
||||||
|
return of(url).method(Method.TRACE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建一个HTTP请求
|
||||||
|
*
|
||||||
|
* @param url URL链接,默认自动编码URL中的参数等信息
|
||||||
|
* @return HttpRequest
|
||||||
|
* @since 5.7.18
|
||||||
|
*/
|
||||||
|
public static HttpRequest of(String url) {
|
||||||
|
return of(url, CharsetUtil.CHARSET_UTF_8);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建一个HTTP请求
|
||||||
|
*
|
||||||
|
* @param url URL链接
|
||||||
|
* @param charset 编码,如果为{@code null}不自动解码编码URL
|
||||||
|
* @return HttpRequest
|
||||||
|
* @since 5.7.18
|
||||||
|
*/
|
||||||
|
public static HttpRequest of(String url, Charset charset) {
|
||||||
|
return new HttpRequest(UrlBuilder.of(url, charset));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置全局默认的连接和读取超时时长
|
* 设置全局默认的连接和读取超时时长
|
||||||
*
|
*
|
||||||
@ -85,6 +193,7 @@ public class HttpRequest extends HttpBase<HttpRequest> {
|
|||||||
public static void closeCookie() {
|
public static void closeCookie() {
|
||||||
GlobalCookieManager.setCookieManager(null);
|
GlobalCookieManager.setCookieManager(null);
|
||||||
}
|
}
|
||||||
|
// ---------------------------------------------------------------- static Http Method end
|
||||||
|
|
||||||
private UrlBuilder url;
|
private UrlBuilder url;
|
||||||
private URLStreamHandler urlHandler;
|
private URLStreamHandler urlHandler;
|
||||||
@ -168,95 +277,16 @@ public class HttpRequest extends HttpBase<HttpRequest> {
|
|||||||
* @param url {@link UrlBuilder}
|
* @param url {@link UrlBuilder}
|
||||||
*/
|
*/
|
||||||
public HttpRequest(UrlBuilder url) {
|
public HttpRequest(UrlBuilder url) {
|
||||||
this.url = url;
|
this.url = Assert.notNull(url, "URL must be not null!");
|
||||||
|
// 给定默认URL编码
|
||||||
|
final Charset charset = url.getCharset();
|
||||||
|
if (null != charset) {
|
||||||
|
this.charset(charset);
|
||||||
|
}
|
||||||
// 给定一个默认头信息
|
// 给定一个默认头信息
|
||||||
this.header(GlobalHeaders.INSTANCE.headers);
|
this.header(GlobalHeaders.INSTANCE.headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------- static Http Method start
|
|
||||||
|
|
||||||
/**
|
|
||||||
* POST请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest post(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.POST);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GET请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest get(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.GET);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HEAD请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest head(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.HEAD);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* OPTIONS请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest options(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.OPTIONS);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PUT请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest put(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.PUT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* PATCH请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
* @since 3.0.9
|
|
||||||
*/
|
|
||||||
public static HttpRequest patch(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.PATCH);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DELETE请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest delete(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.DELETE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TRACE请求
|
|
||||||
*
|
|
||||||
* @param url URL
|
|
||||||
* @return HttpRequest
|
|
||||||
*/
|
|
||||||
public static HttpRequest trace(String url) {
|
|
||||||
return new HttpRequest(url).method(Method.TRACE);
|
|
||||||
}
|
|
||||||
// ---------------------------------------------------------------- static Http Method end
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取请求URL
|
* 获取请求URL
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user