2017-05-23 1 views
0

간단한 RSS 리더를 개발하고 싶지만 사소한 문제가 발생했습니다. 일부 RSS 피드는 다른 사용자가 URLConnection을 사용하여 피드를로드하려고 할 때 아무 것도 반환하지 않습니다. 이것은 내 코드입니다.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 시스템이 URL 리다이렉트가 처리 할 수없는 리다이렉트 또는 뭔가를 보내고 있는가?

답변

1

당신은 여기에 같은 문제에 직면하고있다 : Java URLConnection returns null for valid URL

레딧은 HTTPS에 HTTP URL을 리디렉션하고 코드가 리디렉션을 처리하지 않습니다. 대신 https://www.reddit.com/r/technology/new/.rss?sort=new을 사용하십시오.

코드에서 이러한 모든 문제 (네트워킹, 피드 파싱) 및 엣지 케이스를 처리하면 RSS 리더가 더 이상 단순하지 않습니다.

관련 문제