Как я могу прочитать RSS-канал через прокси с помощью RSS.NET? - PullRequest
0 голосов
/ 09 июня 2009

Попытка использовать RSS.NET . Пример на сайте: (C #)

string url = "http://sourceforge.net/export/rss2_sfnews.php?feed";
RssFeed feed = RssFeed.Read(url);
RssChannel channel = (RssChannel)feed.Channels[0];
listBox.DataSource = channel.Items;

Однако это не удается, потому что мне нужно получить доступ к каналу через прокси. Как мне это сделать?

Перегрузка для RssFeed.Read () принимает запрос HttpWebRequest. Я думаю, что это может быть способ настроить это, но я не использовал это раньше. Помогите! :)

Ответы [ 2 ]

4 голосов
/ 09 июня 2009

Вы действительно можете использовать перегрузку HttpWebRequest функции RssFeed.Read (). Следующее должно работать

string url = "http://sourceforge.net/export/rss2_sfnews.php?feed";
string proxyUrl = "http://proxy.example.com:80/";
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url);
WebProxy proxy = new WebProxy(proxyUrl,true);
webReq.Proxy = proxy;
RssFeed feed = RssFeed.Read(webReq);

Если вам нужен логин и пароль для прокси, есть более подробный пример здесь .

2 голосов
/ 09 июня 2009
  1. Существует перегрузка метода RssFeed.Read (), который принимает запрос HttpWebRequest. Вы можете установить прокси в HttpWebRequest и прочитать его таким образом. Это устанавливает прокси для канала RSS, в частности. Это необходимо сделать для каждого канала, который вы прочитали.
  2. Вы можете установить прокси по умолчанию, используя System.Net.WebRequest.DefaultWebProxy , перед вызовом RssFeed.Read (String). Сделайте это только один раз; он будет применяться ко всем прочитанным вами RSS-каналам, а также ко всем прочим http-сообщениям, выходящим из вашего приложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...