powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Авторизация и парсинг сайта
3 сообщений из 3, страница 1 из 1
Авторизация и парсинг сайта
    #40111048
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый. Хочу сделать парсинг сайта, но сперва нужно залогиниться. Делаю следующее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
private static bool Test(NameValueCollection loginData)
{
    var Cookies = new CookieCollection();
    var web = new HtmlWeb {OverrideEncoding = Encoding.Default, UseCookies = true};
    web.PreRequest += (request) =>
    {
        if (request.Method == "POST")
        {
            var buff = Encoding.UTF8.GetBytes(request.Address.Query.ToCharArray());
            request.ContentLength = buff.Length;
            request.ContentType = "application/x-www-form-urlencoded";
            var reqStream = request.GetRequestStream();
            reqStream.Write(buff, 0, buff.Length);
        }
        request.CookieContainer.Add(Cookies);
        return true;
    };

    web.PostResponse += (request, response) =>
    {
        if (request.CookieContainer.Count > 0 || response.Cookies.Count > 0)
        {
            Cookies.Add(response.Cookies);
        }
    };

    var baseUrl = "https://www.sql.ru/forum/login.aspx";
    var query = string.Join("&",
        loginData.Cast<string>().Select(key => $"{key}={loginData[key]}"));
    var urlToHit = baseUrl + $"?{query}";
    var doc = web.Load(urlToHit, "POST");
    doc = web.Load("https://www.sql.ru/forum/dotnet");
    var isAuth = !doc.DocumentNode.InnerText.Contains("Добро пожаловать в форум, Guest");
    return isAuth;
}


После выполнения метода, вижу, что авторизация не прошла. Подскажите, пожалуйста, что не так?
HtmlWeb из HtmlAgilityPack. Данный сайт, как пример.
Код: c#
1.
2.
3.
4.
5.
var loginData = new NameValueCollection
{
    { "login", "MY_LOGIN" },
    { "password", "MY_PASSWORD" }
};
...
Рейтинг: 0 / 0
Авторизация и парсинг сайта
    #40112022
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было же уже: 22355910
...
Рейтинг: 0 / 0
Авторизация и парсинг сайта
    #40112188
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны
Было же уже: 22355910

немного разные были задачи =) Там нужна была имитация действий пользователя, тут же авторизация и парсинг. Вопрос и там, и тут решился. Смог разобраться
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Авторизация и парсинг сайта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]