mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-24 18:04:54 +08:00
fix code
This commit is contained in:
parent
57bb186f24
commit
83e94584bf
@ -143,6 +143,15 @@ public class ClientConfig {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开SSL验证,即使用引擎默认的SSL验证方式
|
||||
*
|
||||
* @return this
|
||||
*/
|
||||
public ClientConfig enableSSLVerify(){
|
||||
return setSSLInfo(SSLInfo.DEFAULT);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否禁用缓存
|
||||
*
|
||||
|
@ -22,10 +22,11 @@ import org.dromara.hutool.core.util.CharsetUtil;
|
||||
import org.dromara.hutool.core.util.ObjUtil;
|
||||
import org.dromara.hutool.http.GlobalHeaders;
|
||||
import org.dromara.hutool.http.HttpGlobalConfig;
|
||||
import org.dromara.hutool.http.HttpUtil;
|
||||
import org.dromara.hutool.http.client.body.HttpBody;
|
||||
import org.dromara.hutool.http.client.body.StringBody;
|
||||
import org.dromara.hutool.http.client.body.UrlEncodedFormBody;
|
||||
import org.dromara.hutool.http.client.engine.ClientEngine;
|
||||
import org.dromara.hutool.http.client.engine.ClientEngineFactory;
|
||||
import org.dromara.hutool.http.meta.HeaderName;
|
||||
import org.dromara.hutool.http.meta.Method;
|
||||
|
||||
@ -296,6 +297,16 @@ public class Request implements HeaderOperation<Request> {
|
||||
* @return 响应内容
|
||||
*/
|
||||
public Response send() {
|
||||
return HttpUtil.send(this);
|
||||
return send(ClientEngineFactory.getEngine());
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送请求
|
||||
*
|
||||
* @param engine 自自定义引擎
|
||||
* @return 响应内容
|
||||
*/
|
||||
public Response send(final ClientEngine engine){
|
||||
return engine.send(this);
|
||||
}
|
||||
}
|
||||
|
@ -12,10 +12,10 @@
|
||||
|
||||
package org.dromara.hutool.http.client.engine.jdk;
|
||||
|
||||
import org.dromara.hutool.core.lang.Opt;
|
||||
import org.dromara.hutool.core.net.url.URLUtil;
|
||||
import org.dromara.hutool.core.reflect.FieldUtil;
|
||||
import org.dromara.hutool.core.text.StrUtil;
|
||||
import org.dromara.hutool.core.util.ObjUtil;
|
||||
import org.dromara.hutool.http.HttpException;
|
||||
import org.dromara.hutool.http.client.HeaderOperation;
|
||||
import org.dromara.hutool.http.meta.Method;
|
||||
@ -221,8 +221,8 @@ public class JdkHttpConnection implements HeaderOperation<JdkHttpConnection> {
|
||||
// Https请求
|
||||
final HttpsURLConnection httpsConn = (HttpsURLConnection) conn;
|
||||
// 验证域
|
||||
httpsConn.setHostnameVerifier(ObjUtil.defaultIfNull(sslInfo.getHostnameVerifier(), SSLInfo.TRUST_ANY.getHostnameVerifier()));
|
||||
httpsConn.setSSLSocketFactory(ObjUtil.defaultIfNull(sslInfo.getSocketFactory(), SSLInfo.TRUST_ANY.getSocketFactory()));
|
||||
Opt.ofNullable(sslInfo.getHostnameVerifier()).ifPresent(httpsConn::setHostnameVerifier);
|
||||
Opt.ofNullable(sslInfo.getSocketFactory()).ifPresent(httpsConn::setSSLSocketFactory);
|
||||
}
|
||||
|
||||
return this;
|
||||
|
@ -176,6 +176,9 @@ public class SSLInfo {
|
||||
* @return {@link SSLSocketFactory}
|
||||
*/
|
||||
public SSLSocketFactory getSocketFactory() {
|
||||
if(null == this.sslContext){
|
||||
return null;
|
||||
}
|
||||
final SSLSocketFactory factory = this.sslContext.getSocketFactory();
|
||||
return new CustomProtocolsSSLFactory(factory, this.protocols);
|
||||
}
|
||||
|
@ -0,0 +1,20 @@
|
||||
package org.dromara.hutool.http.client;
|
||||
|
||||
import org.dromara.hutool.core.lang.Console;
|
||||
import org.dromara.hutool.http.client.engine.jdk.JdkClientEngine;
|
||||
import org.dromara.hutool.http.ssl.SSLInfo;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class IssueI7ZRJUTest {
|
||||
|
||||
@SuppressWarnings({"resource", "TestFailedLine"})
|
||||
@Test
|
||||
@Disabled
|
||||
void getBadSSlTest() {
|
||||
final Response response = Request.of("https://expired.badssl.com/")
|
||||
.send(new JdkClientEngine().init(ClientConfig.of().setSSLInfo(SSLInfo.DEFAULT)));
|
||||
|
||||
Console.log(response.body());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user