diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/HttpClientConfig.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/HttpClientConfig.java index 9a16cf620..4a6d1d2f0 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/HttpClientConfig.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/HttpClientConfig.java @@ -41,6 +41,10 @@ public class HttpClientConfig extends ClientConfig { * 每个路由的最大连接数 */ private int maxPerRoute; + /** + * 重定向最大次数 + */ + private int maxRedirects; /** * 获取最大连接总数 @@ -81,4 +85,24 @@ public class HttpClientConfig extends ClientConfig { this.maxPerRoute = maxPerRoute; return this; } + + /** + * 获取重定向最大次数 + * + * @return 重定向最大次数 + */ + public int getMaxRedirects() { + return maxRedirects; + } + + /** + * 设置重定向最大次数 + * + * @param maxRedirects 重定向最大次数 + * @return this + */ + public HttpClientConfig setMaxRedirects(final int maxRedirects) { + this.maxRedirects = maxRedirects; + return this; + } } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java index 5fbd7c047..5859a82e9 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient4/HttpClient4Engine.java @@ -232,6 +232,9 @@ public class HttpClient4Engine extends AbstractClientEngine { if (readTimeout > 0) { requestConfigBuilder.setSocketTimeout(readTimeout); } + if(config instanceof HttpClientConfig){ + requestConfigBuilder.setMaxRedirects(((HttpClientConfig) config).getMaxRedirects()); + } return requestConfigBuilder.build(); } diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java index da4540733..79c33accd 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/httpclient5/HttpClient5Engine.java @@ -240,6 +240,9 @@ public class HttpClient5Engine extends AbstractClientEngine { if (readTimeout > 0) { requestConfigBuilder.setResponseTimeout(readTimeout, TimeUnit.MILLISECONDS); } + if(config instanceof HttpClientConfig){ + requestConfigBuilder.setMaxRedirects(((HttpClientConfig) config).getMaxRedirects()); + } return requestConfigBuilder.build(); }