Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 下载URL内容时超时_Java_Urlconnection - Fatal编程技术网

Java 下载URL内容时超时

Java 下载URL内容时超时,java,urlconnection,Java,Urlconnection,我想在指定的下载时间下载java中的URL内容。例如:我希望www.yahoo.com的最大下载超时时间为10秒。如果下载时间超过10秒,则应抛出错误。我已经编写了打开连接并下载全部内容的代码。但是如何设置下载超时?以下是代码片段: StringBuilder text = new StringBuilder(); urlconn = (HttpURLConnection)url.openConnection(); urlconn.setConn

我想在指定的下载时间下载java中的URL内容。例如:我希望www.yahoo.com的最大下载超时时间为10秒。如果下载时间超过10秒,则应抛出错误。我已经编写了打开连接并下载全部内容的代码。但是如何设置下载超时?以下是代码片段:

        StringBuilder text = new StringBuilder();

        urlconn = (HttpURLConnection)url.openConnection();
        urlconn.setConnectTimeout(100000);
      //urlconn.setInstanceFollowRedirects(false);
        urlconn.setRequestMethod("GET");
        urlconn.connect();
        buf = new BufferedReader(new InputStreamReader(urlconn.getInputStream())); 
        while((line = buf.readLine()) != null)
            text.append(line);
        System.out.println(url + "=> "+ urlconn.getResponseCode());
你可以设定它


使用。

请注意,连接超时为100秒。您希望将此时间降低到1~3秒@亚萨:不,他要求下载(阅读)超时。@BalusC:谢谢。你说得对。在看到你的评论和回答之前我就知道了。谢谢。我会降低我的连接。这真的对实际阅读/下载设置了时间限制吗?这似乎只是建立连接后显示可读数据的时间限制。我尝试过设置这个,然后使用慢速连接,通过如上所述的inputstream读取一个长jsonarray,但从未抛出异常。
urlconn.setReadTimeout(10000); // 10 sec
// ...