mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix code
This commit is contained in:
parent
665ba76f98
commit
bfdc1ecbda
@ -8,7 +8,6 @@ import cn.hutool.core.io.resource.FileResource;
|
||||
import cn.hutool.core.io.resource.MultiFileResource;
|
||||
import cn.hutool.core.io.resource.Resource;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.map.TableMap;
|
||||
import cn.hutool.core.net.ssl.SSLUtil;
|
||||
@ -818,11 +817,28 @@ public class HttpRequest extends HttpBase<HttpRequest> {
|
||||
* 设置是否打开重定向,如果打开默认重定向次数为2<br>
|
||||
* 此方法效果与{@link #setMaxRedirectCount(int)} 一致
|
||||
*
|
||||
* <p>
|
||||
* 需要注意的是,当设置为{@code true}时,如果全局重定向次数非0,直接复用,否则设置默认2次。<br>
|
||||
* 当设置为{@code false}时,无论全局是否设置次数,都设置为0。<br>
|
||||
* 不调用此方法的情况下,使用全局默认的次数。
|
||||
* </p>
|
||||
*
|
||||
* @param isFollowRedirects 是否打开重定向
|
||||
* @return this
|
||||
*/
|
||||
public HttpRequest setFollowRedirects(final boolean isFollowRedirects) {
|
||||
return setMaxRedirectCount(isFollowRedirects ? 2 : 0);
|
||||
if (isFollowRedirects) {
|
||||
if (config.maxRedirectCount <= 0) {
|
||||
// 默认两次跳转
|
||||
return setMaxRedirectCount(2);
|
||||
}
|
||||
} else {
|
||||
// 手动强制关闭重定向,此时不受全局重定向设置影响
|
||||
if (config.maxRedirectCount < 0) {
|
||||
return setMaxRedirectCount(0);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1242,7 +1258,6 @@ public class HttpRequest extends HttpBase<HttpRequest> {
|
||||
redirectUrl = UrlBuilder.ofHttpWithoutEncode(location);
|
||||
}
|
||||
|
||||
Console.log(redirectUrl);
|
||||
setUrl(redirectUrl);
|
||||
if (redirectCount < config.maxRedirectCount) {
|
||||
redirectCount++;
|
||||
|
@ -9,6 +9,9 @@ import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@ -188,4 +191,15 @@ public class DownloadTest {
|
||||
FileUtil.del(file1);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
//@Ignore
|
||||
public void downloadTeamViewerTest() throws IOException {
|
||||
// 此URL有3次重定向, 需要请求4次
|
||||
final String url = "https://download.teamviewer.com/download/TeamViewer_Setup_x64.exe";
|
||||
HttpGlobalConfig.setMaxRedirectCount(20);
|
||||
final Path temp = Files.createTempFile("tmp", ".exe");
|
||||
final File file = HttpUtil.downloadFileFromUrl(url, temp.toFile());
|
||||
Console.log(file.length());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user