2010-07-30 57 views
1

我无法弄清楚为什么当我尝试使用sax解析器解析提要时出现此错误的原因。代码很简单,它一直在工作代码为许多其他网址。在解析java中的rss提要时遇到java.io.FileNotFoundException

try{ 
     String myurl="http://news.google.com/news?ned=us&topic=n&output=rss" 

     SAXParserFactory spf = SAXParserFactory.newInstance(); 
     spf.setValidating(false); 
     SAXParser sp = spf.newSAXParser(); 
     XMLReader xr = sp.getXMLReader(); 
     xr.setContentHandler(this); 

     URL com = new URL(urls); 
     URLConnection con = com.openConnection(); 
     con.setConnectTimeout(20000); 
     is = new InputSource(new InputStreamReader(con.getInputStream())); 
     xr.parse(is); 
    } catch (Exception e) {... } 

我得到的错误是

07-30 18:15:28.713: WARN/System.err(596): java.io.FileNotFoundException: http://news.google.com/news?ned=us&topic=n&output=rss 
    07-30 18:15:28.763: WARN/System.err(596): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1064) 
    07-30 18:15:28.763: WARN/System.err(596): at com.mycityway.commonparsers.CommonParser.createFeed(CommonParser.java:311)  
    ... 

请建议我这样做

+0

我猜你已经做了几次过于频繁,而谷歌将您的网站刷屏错误404,如他们认定你违反了他们的使用条款。 – relet 2010-07-30 13:41:04

+0

你可以尝试发布出错的实际代码,因为你发布的内容不会被编译。 'myurl'没有被使用,'urls'没有被定义。 – 2010-07-30 13:43:55

回答

3

他们做简单明了的浏览器通过的User-Agent头检查的正确方法。如果他们不喜欢,他们会发出403(禁止)。只需添加一个通用的,它的作品。下面一行是我尝试每当我遇到这个问题的第一件事就是和它的作品始终贴近:

URLConnection urlc = url.openConnection(); 
urlc.addRequestProperty("User-Agent", "firefox"); 
+0

优秀的音乐,像魅力一样工作 – ganesh 2010-07-30 15:07:13