2012-06-11 4 views
0

아래 코드를 실행하여 다양한 RSS http URL에 액세스 할 수 있지만 코드를 실행하는 웹 응용 프로그램은 https에 있습니다. 나는이 불 때HttpWebRequest를 사용하여 https 컨텍스트에서 HTTP 피드를로드하면 400 잘못된 요청이 발생합니다.

HttpWebRequest request = 
    (HttpWebRequest)HttpWebRequest.Create(new Uri(blog["RSSURL"].ToString())); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
XmlReaderSettings readerSettings = new XmlReaderSettings(); 
readerSettings.ProhibitDtd = false; 
XmlReader reader = 
    XmlReader.Create(response.GetResponseStream(), readerSettings);       
SyndicationFeed feed = SyndicationFeed.Load(reader); 

내가 얻을 :

The remote server returned an error: (400) Bad Request.
at System.Net.HttpWebRequest.GetResponse()

사람이 내가이 문제를 해결하는 방법을 알아 내기 위해 나를 도와 드릴까요?

+0

가 브라우저에서 오류를 재현 할 수 있습니까 나를 위해 작동하거나 브라우저에서 정상적으로 피드를받을 수 있나요? – CodingGorilla

+0

'blog [ "RSSURL"]'의 내용을 보여줄 수 있습니까? –

+0

예는 브라우저의 URL에 액세스 할 수 있습니다. –

답변

0

샘플 URL이

string url = "http://blog.sharepointelearning.com/feed/"; 
XDocument xDoc = XDocument.Load(url); 
var items = xDoc.Descendants("item") 
     .Select(item => new 
     { 
      Title = item.Element("title").Value, 
      Link = item.Element("link").Value, 
      Description = item.Element("description").Value, 
     }) 
     .ToArray(); 
+0

예,이 http url을 호출 할 때 SSL 웹 응용 프로그램을 사용하고 있습니까? –

+0

무엇이 바뀔지 모르겠습니다. –

+0

? format = xml로 끝나는 feedburner URL에 대해 작동합니다. 주위를 읽은 후 크로스 도메인 스크립팅과 관련이있는 것처럼 보이며 피드 버너는이를 수정하는 방법을 가지고 있습니다. 그러나 다른 사이트는 그렇지 않습니다. –

관련 문제