使用超时下载URL内容

时间:2011-05-31 03:56:12

标签: java urlconnection

我想用指定的下载时间下载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());

2 个答案:

答案 0 :(得分:4)

您可以按URLConnection#setReadTimeout()设置它。

urlconn.setReadTimeout(10000); // 10 sec
// ...

答案 1 :(得分:2)