无法阅读简单的RSS提要

时间:2018-11-10 20:47:26

标签: java rss rss-reader

我有一个简单的代码,可以读取RSS feed。过去可以使用给定的RSS提要正常工作,但是由于某些原因停止了以下异常的工作:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid document
at com.rometools.rome.io.WireFeedInput.build(WireFeedInput.java:312)
at com.rometools.rome.io.WireFeedInput.build(WireFeedInput.java:234)
at com.rometools.rome.io.SyndFeedInput.build(SyndFeedInput.java:150)

这是代码:

    URL url  = new URL("http://www.dpreview.com/feeds/reviews/latest");
    XmlReader reader = null;
    try {
        reader = new XmlReader(url);
        SyndFeed feeder = new SyndFeedInput().build(reader);
        System.out.println("Feed Title: "+ feeder.getAuthor());
        for (Iterator i = feeder.getEntries().iterator(); i.hasNext();) {
            SyndEntry syndEntry = (SyndEntry) i.next();
            System.out.println(syndEntry.getTitle());
        }
    } finally {
        if (reader != null)
            reader.close();
    }

我想念什么吗?

1 个答案:

答案 0 :(得分:1)

URL问题。回复Object moved to <a href="https://www.dpreview.com/feeds/reviews/latest">here</a>。这就是为什么异常Invalid document

这意味着XmlReader不支持304重定向。

因此,如果将URL固定为https而不是http,则一切正常。

类似的issue表示,您必须处理重定向自己的问题。