我有以下代码:
try{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
/* Get the XMLReader of the SAXParser we created. */
XMLReader r = sp.getXMLReader();
//This handles the xml and populates the entries array
XMLHandler handler = new XMLHandler();
// register event handlers
r.setContentHandler(handler);
String url = "http://news.library.ryerson.ca/api/isbnsearch.php?isbn="+ISBN;
r.parse(url);
return handler.getEntries();
}
此代码大部分时间都可正常运行,但有几种情况下,用户可以输入100多个相关ISBN的流行书籍的isbn(例如harry potter)。当发生这种情况时,XML提要不会中断,但加载时间会更长(对于极端情况,最长可达30秒)。当页面加载时,它永远不会丢失连接,它只需要加载时间。
有没有办法增加该功能的超时时间?
由于
答案 0 :(得分:1)
//opens the URL as a stream, so it does not timeout prematurely
String u = new String("http://foobar/isbnsearch.php?isbn="+ISBN);
URL url = new URL(u);
InputStream stream = url.openStream();
r.parse(new InputSource(stream));
stream.close();
通过添加此内容解决了这个问题。