Esempio n. 1
0
        private void buttonAll_Click(object sender, RoutedEventArgs e)
        {
            Links           links      = new Links();
            List <ListRows> lstNewRows = new List <ListRows>();

            foreach (KeyValuePair <string, string> keyValue in links.LinkDict)
            {
                List <ListRows> lstR = new List <ListRows>();
                lstR = loadAll(keyValue.Value);
                foreach (ListRows lstRow in lstR)
                {
                    lstNewRows.Add(lstRow);
                }
            }

            if (radioButton.IsChecked == true)
            {
                this.dataGrid.ItemsSource = lstNewRows;

                InitializeComponent();
            }
            else
            {
                WriteExcel we = new WriteExcel();
                we.WriteDataInExcel(button9.Content.ToString(), lstNewRows);
            }
        }
Esempio n. 2
0
        public void WebReq(string link, string page, string maxPage, bool grid, string NameExcange)
        {
            if (page == "1")
            {
                lstRowsFull = new List <List <ListRows> >();
            }
            string sourceCode = String.Empty;

            //  try
            //  {
            Parallel.Invoke(() =>
            {
                HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(link + "&p=&cc=&limit=100&page=" + page);
                webReq.Method         = "GET";
                webReq.Accept         = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                webReq.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
                webReq.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
                webReq.Headers.Add(HttpRequestHeader.CacheControl, "max-age=0");
                // webReq.Connection = "keep-alive";
                webReq.Host = "www.interactivebrokers.com";
                webReq.Headers.Add("Upgrade-Insecure-Requests", "1");
                webReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0";
                webReq.Timeout   = 5000;

                HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse();

                Stream stream;
                switch (webResp.ContentEncoding.ToUpperInvariant())
                {
                case "GZIP":
                    stream = new GZipStream(webResp.GetResponseStream(), CompressionMode.Decompress);
                    break;

                case "DEFLATE":
                    stream = new DeflateStream(webResp.GetResponseStream(), CompressionMode.Decompress);
                    break;

                default:
                    stream             = webResp.GetResponseStream();
                    stream.ReadTimeout = 10000;
                    break;
                }
                // using (StreamReader stream = new StreamReader(webResp..GetResponseStream(), Encoding.UTF8))
                //  {
                // Выводим исходный код страницы
                StreamReader reader = new StreamReader(stream);
                sourceCode          = reader.ReadToEnd();
                //   }
                //  parcePages(sourceCode);

                lstRows = parceTable(sourceCode);
                lstRowsFull.Add(lstRows);


                if (page == maxPage)
                {
                    List <ListRows> lstRow2 = new List <ListRows>();
                    if (grid)
                    {
                        foreach (List <ListRows> lst in lstRowsFull)
                        {
                            foreach (ListRows lstR in lst)
                            {
                                lstRow2.Add(lstR);
                            }
                        }
                        win.Dispatcher.BeginInvoke(new ThreadStart(delegate { win.dataGrid.ItemsSource = lstRow2; }));
                        lstRowsFull = new List <List <ListRows> >();
                    }
                    else
                    {
                        WriteExcel we = new WriteExcel();
                        foreach (List <ListRows> lst in lstRowsFull)
                        {
                            foreach (ListRows lstR in lst)
                            {
                                lstRow2.Add(lstR);
                            }
                        }
                        we.WriteDataInExcel(NameExcange, lstRow2);
                        lstRowsFull = new List <List <ListRows> >();
                    }
                }
            });

            //return lstRows;
        }