Парсинг сайта с авторизацией - C# (232598)
Формулировка задачи:
Вот что получилось сделать по авторизации:
(авторизация проходит только в включенным HttpAnalyzerStdV7, почему? - не знаю)
но как после авторизации пропарсить https://site.com/index.php?a=account на наличие div class="container"?
Листинг программы
- public void ASendPost()
- {
- var postData = "";
- postData += "&login=" + login;
- postData += "&pass=" + pass;
- var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://site.com/auth.php");
- SettingsAdd(httpWebRequest);
- //
- var buffer = Encoding.ASCII.GetBytes(postData);
- httpWebRequest.ContentLength = buffer.Length;
- using (var writer = httpWebRequest.GetRequestStream())
- {
- writer.Write(buffer, 0, buffer.Length);
- }
- var response = (HttpWebResponse)httpWebRequest.GetResponse();
- var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
- if (responseString.Contains("Успешный вход"))
- {
- MessageBox.Show("Вошел");
- }
- else
- {
- MessageBox.Show("Неудача");
- }
- }
- public static void SettingsAdd(HttpWebRequest a)
- {
- a.Headers.Clear();
- a.Method = "POST";
- a.AllowAutoRedirect = true;
- a.Host = site;
- a.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0";
- a.Accept = "*/*";
- a.Headers.Add(@"Accept-Language:");
- a.Headers.Set(@"Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
- a.Headers.Add(@"Accept-Encoding:");
- a.Headers.Set(@"Accept-Encoding", "gzip, deflate, br");
- a.ContentType = "application/x-www-form-urlencoded";
- a.Headers.Add("X-Requested-With:");
- a.Headers.Set("X-Requested-With", "XMLHttpRequest");
- a.Referer = "https://site.com/?a=login";
- a.Headers.Add("Cookie:");
- a.Headers.Set("Cookie", "1");
- a.KeepAlive = true;
- a.ContentLength = 37;
- a.ServicePoint.Expect100Continue = false;
- //
- }
UP UP UP
Решение задачи: «Парсинг сайта с авторизацией»
textual
Листинг программы
- public static void Parse4Balance(string response, Label a)
- {
- HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
- doc.LoadHtml(response);
- HtmlNodeCollection c = doc.DocumentNode.SelectNodes("//div[@class='dashboard_info-num']");
- if (c != null)
- {
- a.Text = c[0].InnerHtml;
- }
- else
- {
- a.Text = "ERROR";
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д