Парсинг сайта с авторизацией - 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"; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д