.NET 4.x скачать xml файл из сети, с условием что используется прокси сервер - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, раньше пользовался парсером курса валют с сайта ЦБ:
 // Текущая дата
            string data = string.Empty;
            // Адрес сайта с курсом валюты
            string url = "http://www.cbr.ru/currency_base/D_print.aspx?date_req=";
            // HTML сайта с курсом валюты
            string html = string.Empty;
            // Регулярное выражение
            string pattern = "Китайских юаней</td>\r\n<td align=\"right\">(.*)</td>";

            // Определяем текущую дату
            DateTime today = DateTime.Now;
            data = today.Date.ToShortDateString();
            // Формируем адрес сайта
            // [url]http://www.cbr.ru/currency_base/D_print.aspx?date_req=07.03.2010[/url]
            url += data;
            // Отправляем GET запрос и получаем в ответ HTML-код сайта с курсом валюты
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream());
            html = myStreamReader.ReadToEnd();
            // Вытаскиваем из HTML-кода нужные данные
            Match match = Regex.Match(html, pattern);
            string a = match.Groups[1].ToString();
            textBox1.Text = Convert.ToString(Convert.ToDouble(a) / 10);
но теперь, уходит очень много времени на отправку-получение HTML кода с сайта, иногда программа висит по секунд 40. нашел инфу где написано что ЦБ имеет еще и такой линк http://www.cbr.ru/scripts/XML_daily.asp этот XML файл весит почти в 2 раза меньше чем страничка http. Моя задумка состоит в том чтобы этот XML файл сохранить и затем уже оттуда спарсить нужные мне курсы валют, нашел в сети такой фрагмент:
           WebClient wc = new WebClient();
           Uri ui = new Uri("http://www.mypage.com/images/1.jpg");
           string path = @"C:/" + ui.Segments[2];
           wc.DownloadFileAsync(ui, path);
но тут возникает проблема с тем что для доступа к интернету на своем ноуте я использую прокси сервер, почитал на MSDN про WebClient.Proxy, но не понял как его прицепить к Webclieny, буду признателен если кто-нибудь покажет на рабочем примере:

Решение задачи: «.NET 4.x скачать xml файл из сети, с условием что используется прокси сервер»

textual
Листинг программы
proxy.Credentials=new NetworkCredential("login","password");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5