Авторизоваться На Сайте Через Webbrowser

Тема в разделе ".NET - Общие вопросы по языкам", создана пользователем dimawork, 17 янв 2014.

  1. dimawork

    dimawork New Member

    Регистрация:
    14 янв 2014
    Сообщения:
    2
    Симпатии:
    0
    Вот код:


    Код (C++):
    string postData = "login_name=" + System.Web.HttpUtility.UrlEncode("NewMyLogin1234", Encoding.GetEncoding(1251)) +       // Логин для авторизации
    "&login_password=" + System.Web.HttpUtility.UrlEncode("New password", Encoding.GetEncoding(1251)) +  // Пароль для авторизации
    "&subaction=dologin";

    byte[] buffer = null;

    using (var memoryStream = new MemoryStream(
    Encoding.GetEncoding(1251).GetBytes(postData)))//:::encoding
    {
    buffer = memoryStream.ToArray();
    }

    string AdditionalHeaders = "Content-Type: application/x-www-form-urlencoded" + Environment.NewLine
    + "Referer: http://deficitwarez.ru/admin222.php?" + Environment.NewLine;

    webBrowser1.Navigate("http://deficitwarez.ru/admin222.php", "", buffer, AdditionalHeaders);
    Пишет нет доступа хотя данные для авторизации верные, заголовки вро дебы все передаю верные, что может быть не так?
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Если не секрет, зачем нужен WebBrowser? Авторизоваться можно и с помощью обычного WebRequest'а. Для этого лучше сначала авторизоваться через обычный браузер, включив консоль разработчика (она сейчас везде есть в том или ином виде). В консоли есть инспектор сети, где можно увидеть все параметры запроса: заголовки, POST-данные, куки и т.п. Делаем идентичный запрос с помощью WebRequest'а, из полученного ответа сохраняем все куки (для последующих запросов) и ... profit :)
    Поможет также внимательное изучение HTML-кода формы, с которой выполняется авторизация. Бывает, что она включает в себя hidden input'ы, значения которых генерирует сервак, проверяя потом при авторизации.
     
Загрузка...

Поделиться этой страницей