mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix bug
This commit is contained in:
parent
50367a4a9f
commit
c84db9070a
@ -29,6 +29,7 @@ import org.apache.http.message.BasicHeader;
|
||||
import org.dromara.hutool.core.io.IoUtil;
|
||||
import org.dromara.hutool.core.lang.Assert;
|
||||
import org.dromara.hutool.core.net.url.UrlBuilder;
|
||||
import org.dromara.hutool.core.util.ObjUtil;
|
||||
import org.dromara.hutool.http.GlobalHeaders;
|
||||
import org.dromara.hutool.http.HttpException;
|
||||
import org.dromara.hutool.http.client.ClientConfig;
|
||||
@ -108,19 +109,17 @@ public class HttpClient4Engine implements ClientEngine {
|
||||
}
|
||||
|
||||
final HttpClientBuilder clientBuilder = HttpClients.custom();
|
||||
final ClientConfig config = this.config;
|
||||
if (null != config) {
|
||||
// SSL配置
|
||||
final SSLInfo sslInfo = config.getSslInfo();
|
||||
if (null != sslInfo) {
|
||||
clientBuilder.setSSLSocketFactory(buildSocketFactory(sslInfo));
|
||||
}
|
||||
if(config.isDisableCache()){
|
||||
clientBuilder.disableAuthCaching();
|
||||
}
|
||||
|
||||
clientBuilder.setDefaultRequestConfig(buildRequestConfig(config));
|
||||
final ClientConfig config = ObjUtil.defaultIfNull(this.config, ClientConfig::of);
|
||||
// SSL配置
|
||||
final SSLInfo sslInfo = config.getSslInfo();
|
||||
if (null != sslInfo) {
|
||||
clientBuilder.setSSLSocketFactory(buildSocketFactory(sslInfo));
|
||||
}
|
||||
if(config.isDisableCache()){
|
||||
clientBuilder.disableAuthCaching();
|
||||
}
|
||||
|
||||
clientBuilder.setDefaultRequestConfig(buildRequestConfig(config));
|
||||
|
||||
// 设置默认头信息
|
||||
clientBuilder.setDefaultHeaders(toHeaderList(GlobalHeaders.INSTANCE.headers()));
|
||||
|
@ -32,6 +32,7 @@ import org.apache.hc.core5.http.message.BasicHeader;
|
||||
import org.dromara.hutool.core.io.IoUtil;
|
||||
import org.dromara.hutool.core.lang.Assert;
|
||||
import org.dromara.hutool.core.net.url.UrlBuilder;
|
||||
import org.dromara.hutool.core.util.ObjUtil;
|
||||
import org.dromara.hutool.http.GlobalHeaders;
|
||||
import org.dromara.hutool.http.HttpException;
|
||||
import org.dromara.hutool.http.client.ClientConfig;
|
||||
@ -113,13 +114,11 @@ public class HttpClient5Engine implements ClientEngine {
|
||||
|
||||
final HttpClientBuilder clientBuilder = HttpClients.custom();
|
||||
|
||||
final ClientConfig config = this.config;
|
||||
if (null != config) {
|
||||
clientBuilder.setConnectionManager(buildConnectionManager(config));
|
||||
clientBuilder.setDefaultRequestConfig(buildRequestConfig(config));
|
||||
if(config.isDisableCache()){
|
||||
clientBuilder.disableAuthCaching();
|
||||
}
|
||||
final ClientConfig config = ObjUtil.defaultIfNull(this.config, ClientConfig::of);
|
||||
clientBuilder.setConnectionManager(buildConnectionManager(config));
|
||||
clientBuilder.setDefaultRequestConfig(buildRequestConfig(config));
|
||||
if(config.isDisableCache()){
|
||||
clientBuilder.disableAuthCaching();
|
||||
}
|
||||
|
||||
// 设置默认头信息
|
||||
|
@ -14,6 +14,7 @@ package org.dromara.hutool.http.client.engine.okhttp;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
import org.dromara.hutool.core.io.IORuntimeException;
|
||||
import org.dromara.hutool.core.util.ObjUtil;
|
||||
import org.dromara.hutool.http.client.ClientConfig;
|
||||
import org.dromara.hutool.http.client.Request;
|
||||
import org.dromara.hutool.http.client.Response;
|
||||
@ -84,30 +85,28 @@ public class OkHttpEngine implements ClientEngine {
|
||||
|
||||
final OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
||||
|
||||
final ClientConfig config = this.config;
|
||||
if (null != config) {
|
||||
// 连接超时
|
||||
final int connectionTimeout = config.getConnectionTimeout();
|
||||
if (connectionTimeout > 0) {
|
||||
builder.connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS);
|
||||
}
|
||||
// 读写超时
|
||||
final int readTimeout = config.getReadTimeout();
|
||||
if (readTimeout > 0) {
|
||||
// 读写共用读取超时
|
||||
builder.readTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
// SSL
|
||||
final SSLInfo sslInfo = config.getSslInfo();
|
||||
if (null != sslInfo) {
|
||||
builder.sslSocketFactory(sslInfo.getSocketFactory(), sslInfo.getTrustManager());
|
||||
}
|
||||
|
||||
// 设置代理
|
||||
setProxy(builder, config);
|
||||
final ClientConfig config = ObjUtil.defaultIfNull(this.config, ClientConfig::of);
|
||||
// 连接超时
|
||||
final int connectionTimeout = config.getConnectionTimeout();
|
||||
if (connectionTimeout > 0) {
|
||||
builder.connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS);
|
||||
}
|
||||
// 读写超时
|
||||
final int readTimeout = config.getReadTimeout();
|
||||
if (readTimeout > 0) {
|
||||
// 读写共用读取超时
|
||||
builder.readTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS)
|
||||
.writeTimeout(config.getReadTimeout(), TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
// SSL
|
||||
final SSLInfo sslInfo = config.getSslInfo();
|
||||
if (null != sslInfo) {
|
||||
builder.sslSocketFactory(sslInfo.getSocketFactory(), sslInfo.getTrustManager());
|
||||
}
|
||||
|
||||
// 设置代理
|
||||
setProxy(builder, config);
|
||||
|
||||
// 默认关闭自动跳转
|
||||
builder.setFollowRedirects$okhttp(false);
|
||||
|
@ -0,0 +1,26 @@
|
||||
package org.dromara.hutool.http.client;
|
||||
|
||||
import org.dromara.hutool.http.HttpGlobalConfig;
|
||||
import org.dromara.hutool.http.HttpUtil;
|
||||
import org.dromara.hutool.http.client.engine.okhttp.OkHttpEngine;
|
||||
import org.dromara.hutool.http.meta.HeaderName;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class IssueI8WU4MTest {
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void timeoutTest() {
|
||||
//设置超时,单位毫秒,这里1毫秒,按道理100%超时
|
||||
HttpGlobalConfig.setTimeout(1);
|
||||
|
||||
final String body = HttpUtil.createGet("https://restapi.amap.com/v3/ip?Key=ad054b1810672fb0ff6107cd71518837")
|
||||
.header(HeaderName.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=utf-8")
|
||||
.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0")
|
||||
.send(new OkHttpEngine())
|
||||
.body().
|
||||
getString();
|
||||
System.out.println(body);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user