【发布时间】:2011-03-10 23:20:42
【问题描述】:
我正在尝试从 HTTP URL 解析 XML 文件。我想配置 15 秒的超时,如果 XML 获取时间比这更长,我想报告超时。由于某种原因,setConnectTimeout 和 setReadTimeout 不起作用。代码如下:
URL url = new URL("http://www.myurl.com/sample.xml");
URLConnection urlConn = url.openConnection();
urlConn.setConnectTimeout(15000);
urlConn.setReadTimeout(15000);
urlConn.setAllowUserInteraction(false);
urlConn.setDoOutput(true);
InputStream inStream = urlConn.getInputStream();
InputSource input = new InputSource(inStream);
我正在捕获 SocketTimeoutException。
谢谢 克里斯
【问题讨论】:
-
挂起吗?发生什么了?你正在阅读流中的内容吗?
-
不,它不会挂起,也没有异常。解析后我的变量是空的。
-
那么请看更多代码。
-
你的问题解决了吗?我遇到了同样的问题..
-
这不是它的工作原理。读取超时影响单个读取,而不是总读取时间。你的其余代码在哪里?
标签: java timeout connect urlconnection