猿问

无法读取简单的 RSS 提要

我有一个读取 RSS 提要的简单代码。它曾经在给定的 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();

    }

有什么我想念的吗?


catspeake
浏览 205回答 1
1回答

蛊毒传说

网址有问题。以 响应Object moved to <a href="https://www.dpreview.com/feeds/reviews/latest">here</a>。这就是为什么异常Invalid document。这意味着XmlReader不支持 304 重定向。因此,如果您将 URL 固定为https而不是http,则一切正常。有类似的问题,它说,你必须处理你自己的重定向。
随时随地看视频慕课网APP

相关分类

Java
我要回答