2013-04-04 3 views
4

Я хочу, чтобы Входящие через RSS, я могу получить XML, когда я использую Response.Redirect, но не может получить в формате XML, он выдает (401) несанкционированной ошибка Моего кодапочтового ящика пользователя Gmail через RSS поток

string url = "https://myusername:[email protected]/mail/feed/atom"; 
    XmlReader reader = XmlReader.Create(url); 
    SyndicationFeed feed = SyndicationFeed.Load(reader); 
    reader.Close(); 

-> Response.redirect (url); // это работает Может ли одна иметь ни малейшего представления о ней, или любое Версон из AE.Net.Mail.dll для Framework 2.0

Спасибо Вам

ответ

1

XmlReader класс не может анализировать информацию аутентификации от URL-адрес, вы должны создать экземпляр XmlSettings и установить его свойство XmlResolver экземпляру XmlUrlResolver, который имеет свои учетные данные, установленные на имя пользователя и пароль. Затем, когда вы создаете экземпляр XmlReader, вы предоставляете экземпляр XmlSettings. Следующий код будет делать трюк:

// Create a resolver with your credentials 
XmlUrlResolver resolver = new XmlUrlResolver(); 
resolver.Credentials = new NetworkCredential("myusername", "mypassword"); 

// Set the reader settings object to use the resolver. 
XmlReaderSettings settings = new XmlReaderSettings(); 
settings.XmlResolver = resolver; 

string url = "https://mail.google.com/mail/feed/atom"; 

// Create the reader using the specified URL and settings 
XmlReader reader = XmlReader.Create(url, settings); 

SyndicationFeed feed = SyndicationFeed.Load(reader); 
reader.Close(); 

Однако, я попробовал этот код и следующее XmlException был брошен: «Элемент с именем„подачей“и пространство имен„http://purl.org/atom/ns#“не является допустимым формат подачи. "

Похоже, что каналы Google выходят в формате, который несовместим с классом SyndicationFeed. Для получения дополнительной информации см .: http://www.eggheadcafe.com/tutorials/csharp/9faa101f-0a1a-465f-a41a-3e52dd9f7526/everything-rss--atom-feed-parser.aspx

+0

Спасибо за помощь. Это сработало для меня. Наконец я проигнорировал Syndicate и прочитал данные от прямого читателя. –

Смежные вопросы