如何设置在Java中下载文件的超时时间?

问题描述 投票:0回答:3

我想设置超时以从请求的URL获得完整的响应,例如URL url = new URL("http://www.amrood.com");

我创建了连接,并且我想设置该页面的加载超时时间,如果花费的时间超过给定的时间,我想得到超时错误。

URL可能是一个下载,我希望使用相同的逻辑,但该文件应在一段时间内下载,否则我会出现超时错误。

预先感谢,

java java-ee
3个回答
1
投票

您可以通过URLConnection#setReadTimeout()进行设置

urlconn.setReadTimeout(10000); // 10秒

// ...


1
投票

尝试一下:

 URL url = new URL("http://www.amrood.com");
        HttpURLConnection huc = (HttpURLConnection) url.openConnection();
        HttpURLConnection.setFollowRedirects(false);
        huc.setConnectTimeout(0); //for unlimited

else

huc.setConnectTimeout(15 * 1000); //whatever time you want to put

或者您可以尝试使用Jsoup

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
 Document doc = Jsoup.connect("http://www.amrood.com").timeout(0).get();

0
投票

如果使用HttpURLConnection,则可以使用setConnectTimeoutsetReadTimeout指定超时

con.setConnectTimeout(connectTimeout); 
con.setReadTimeout(socketTimeout);
© www.soinside.com 2019 - 2024. All rights reserved.