URLConnection to RSS feed返回空值



我想开发一个简单的RSS阅读器,但遇到了一个小问题。当我尝试使用 URL 加载提要时,一些 RSS 提要只是不返回任何内容。这是我的代码:

import java.net.*;
import java.io.*;
public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL yahoo = new URL("http://www.reddit.com/r/technology/new/.rss?sort=new");
        URLConnection yc = yahoo.openConnection();
        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

此代码不返回任何内容,但在浏览器中查看时确实会显示 rss 提要。当我输入另一个提要时,例如"http://feeds.feedburner.com/tweakers/",它会返回正确的提要。

我错过了什么?Reddit .rss系统是否使用发送重定向或我的 URLConnection 无法处理的方式?

您面临与此处相同的问题: Java URLConnection 为有效 URL 返回 null

Reddit将您的http网址重定向到https,而您的代码不会处理重定向。请改用https://www.reddit.com/r/technology/new/.rss?sort=new

当您在代码中处理所有这些问题(网络、提要解析(和边缘情况时,您的 RSS 阅读器不再简单:)

最新更新