我正在尝试解析来自以下url的xml响应-
http://imdbapi.org/?type=xml&q=argo
为此,我编写了以下代码-
try
{
XMLReader myReader = XMLReaderFactory.createXMLReader();
xmlHandler handlerobj = new xmlHandler();
myReader.setContentHandler(handlerobj);
myReader.parse(new InputSource(new URL("http://imdbapi.org/?type=xml&q=argo").openStream()));
}
catch(Exception e)
{
System.out.println("Error");
}
xmlhandler是一个扩展defaulthandler的类。我在上面的代码中得到一个ioexception。
堆栈跟踪-
java.io.IOException: Server returned HTTP response code: 403 for URL: http://imdbapi.org/?type=xml&q=argo
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at gui.getimdbdata(gui.java:73)
at gui.main(gui.java:64)
这个代码有什么问题?
2条答案
按热度按时间uqjltbpv1#
必须设置user.agent:
(如果您使用浏览器连接到url,这将自动完成)
sirbozc52#
多亏了@dijkstra,问题解决了!
web服务只允许浏览器获取xml数据。
以下是修改-