Example #1
0
        /// <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("&quot;", "'"); // замена кода ковычек на ковычки
            return(text);
        }
Example #2
0
        private void ReloadButton_Click(object sender, RoutedEventArgs e)
        {
            LoadingWindow w = new LoadingWindow();

            w.Show();
            //Files.RemoveNonUsingPics();
            OfferListBox.ItemsSource = DownloadOffer.GetArray(w);
            w.Close();
        }
Example #3
0
        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);
            }
        }