2012-06-16 1 views
0

간단한 C# WebForms 응용 프로그램을 사용하여 프로그래밍 방식으로 RSS 피드를 다운로드하려고합니다.RSS 피드 요청은 브라우저에서 작동하지만 XmlDocument.Load()를 사용하지 않습니다.

RSS 피드의 URI에 로그인 세부 정보와 관련된 인증 토큰이 포함되어 있습니다.

WebBrowser 컨트롤을 사용하여 RSS 피드를 요청하면 피드가 HTML로 래핑되고 파싱 할 수 없습니다.

나는

var rssXml = new XmlDocument(); 
rssXml.Load(feedUri); 

는 그 다음이 (401) 반환 사용하여 RSS 피드 요청하는 경우 - 권한 응답을.

그러나 브라우저를 열어 호스트 사이트의 쿠키를 모두 지울 수 있습니다 (사실 호스트 사이트를 방문한 적이 거의없는 브라우저). 동일한 RSS URI와 예상되는 RSS를 사용합니다 피드 입니다. 이는 URI의 권한 부여 토큰이 승인되었음을 의미합니다.

그럼이 코드를 사용하여 RSS 피드를 성공적으로 요청할 수 없습니까?

var rssXml = new XmlDocument(); 
rssXml.Load(feedUri); 
+0

xml을 다운로드하고 XmlDocument에로드하려면 'WebClient' 또는'HttpWebrequest '(인증을 지원)를 사용해야합니다. –

+0

"인증을 지원하는 사용자"가 인증 쿠키를 의미 할 때, 맞습니까? 확실히 RSS 피드는 쿠키가 필요하지 않습니까? 또한 OP에서 말했듯이, 나는 해당 도메인에 대한 기존의 쿠키가없는 브라우저에서 URI를 시도했으며 URI는 정상적으로 작동했습니다. – awj

+0

아니요. 해당 클래스에서 사용자 이름과 비밀번호를 보낼 수 있음을 의미하지 않습니다. 브라우저가 캐시했을 수 있습니다. 그들을 시도하면 귀하의 의견을 짧을 것입니다. –

답변

0

이 질문에 대한 답변을 찾으시는 분은 위의 @L.B.의 의견을 참조하십시오.