我想以指定的下载时间下载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());
最佳答案
您可以通过 URLConnection#setReadTimeout()
进行设置。
urlconn.setReadTimeout(10000); // 10 sec
// ...