This commit is contained in:
Looly
2024-01-18 16:27:19 +08:00
parent 50367a4a9f
commit c84db9070a
4 changed files with 65 additions and 42 deletions

View File

@@ -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()));

View File

@@ -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();
}
// 设置默认头信息

View File

@@ -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);