/// <summary> /// Скачивает и преобразует страницу в юникод /// </summary> /// <returns>Страница в виде строки</returns> private static string DownloadPage(string url) { Settings stng = Files.ReadSettings(); string[] cookie1 = { "MG_CITY_ID", ".magnit-info.ru", stng.CityID }; string[] cookie2 = { "MG_REGION_ID", ".magnit-info.ru", stng.RegionID }; string[][] cookies = { cookie1, cookie2 }; // установка кукисов CookieCollection cookieCollection = new CookieCollection(); foreach (string[] cookie in cookies) { Cookie c = new Cookie(); c.Name = cookie[0]; c.Value = cookie[2]; c.Domain = cookie[1]; c.Expires = new DateTime(2022, 3, 23); // дата истечения cookieCollection.Add(c); } CookieContainer cookieContainer = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); // запрос cookieContainer.Add(cookieCollection); request.CookieContainer = cookieContainer; HttpWebResponse res = null; try { res = (HttpWebResponse)request.GetResponse(); // ответ } catch { MessageBox.Show("Нет доступа к сети или сайт недоступен."); loadingWindow.Close(); return("#error#"); } Stream receiveStream = res.GetResponseStream(); byte[] bytes = ReadFully(receiveStream); string text = Encoding.GetEncoding(1251).GetString(bytes); text = text.Replace(""", "'"); // замена кода ковычек на ковычки return(text); }
private void ReloadButton_Click(object sender, RoutedEventArgs e) { LoadingWindow w = new LoadingWindow(); w.Show(); //Files.RemoveNonUsingPics(); OfferListBox.ItemsSource = DownloadOffer.GetArray(w); w.Close(); }
public MainWindow() { try // если папки нет, она создаётся. если есть, то ничего не делается { Directory.CreateDirectory(Constant.DATA_DIR_NAME); // нужна для хранения временных файлов } catch (Exception e) { MessageBox.Show(e.Message); } try { InitializeComponent(); Offer[] offerArray = Files.ReadOfferBase(); if (offerArray.Length == 0) { MessageBox.Show( "Сохранённые акции не найдены, загрузка будет начата автоматически после выбора города.", "Акции не найдены"); ChooseCityWindow ccw = new ChooseCityWindow(); ccw.CancellButton.IsEnabled = false; ccw.ShowDialog(); LoadingWindow w = new LoadingWindow(); w.Show(); OfferListBox.ItemsSource = DownloadOffer.GetArray(w); w.Close(); } else { OfferListBox.ItemsSource = offerArray; } } catch (Exception e) { MessageBox.Show(e.Message); } }