Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Работа с HTML  [new]
Супер_Пав
Member

Откуда: Москва
Сообщений: 417
Вечер добрый.
Подскажите, пожалуйста, как реализовать загрузку сайта, ввод данных в поля и нажатие кнопки?
Как пример, форма авторизации на этом форуме. Как ввести пароль, логин и нажать кнопку Login?

К сообщению приложен файл. Размер - 4Kb
5 авг 21, 19:21    [22355817]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 4283
Супер_Пав,

установи Fiddler, посмотри что надо вызвать, что возвращается и чем авторизованный запрос отличается от неавторизованное (обычного отличия в заголовке). заодно разберешься.
5 авг 21, 23:17    [22355870]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6257
На скруле используется обычная forms authentication с сохранением результата в cookies.
Программно аутентифицироваться можно вот так:
public class CookieWebClient : WebClient
{
  public CookieContainer CookieContainer { get; }

  public CookieWebClient()
  {
    CookieContainer = new CookieContainer();
  }

  public CookieWebClient(CookieContainer cookieContainer)
  {
    CookieContainer = cookieContainer;
  }

  protected override WebRequest GetWebRequest(Uri address)
  {
    if (!(base.GetWebRequest(address) is HttpWebRequest request)) return base.GetWebRequest(address);
    request.CookieContainer = CookieContainer;
    return request;
  }
}
...
var client = new CookieWebClient();
var loginData = new NameValueCollection
{
  { "login", "hacker_vasya" },
  { "password", "12345" }
};
client.UploadValues("https://www.sql.ru/forum/login.aspx", "POST", loginData);

Это вполне работало на практике с год тому назад - в ЗПТ как-то на фоне плохо работающего поиска была попытка сохранять страницы одной темы в локальном MSSQL, и индексировать их полнотекстовым поиском (а в ЗПТ вход возможен только после авторизации).
6 авг 21, 07:19    [22355910]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Супер_Пав
Member

Откуда: Москва
Сообщений: 417
Roman Mejtes, спасибо, посмотрю
Сон Веры Павловны, текущий форум - как пример. Мне нужно универсальное решение
6 авг 21, 11:27    [22356015]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6257
Супер_Пав
Мне нужно универсальное решение

Его в принципе не может быть. Потому как могут быть а) другие методы аутентификации; б) у той же формс-аутентификации на другом сайте для пары ключ/пароль могут быть другие имена - username и credentials, например.
6 авг 21, 12:13    [22356048]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Супер_Пав
Member

Откуда: Москва
Сообщений: 417
Неужели нет решения для имитации действий пользователя? Получить поле, задать значение, получить кнопку, выполнить клик и тд
6 авг 21, 12:38    [22356068]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 5003
Супер_Пав,\
смотри Selenium
6 авг 21, 14:32    [22356146]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145754
Супер_Пав
Неужели нет решения для имитации действий пользователя? Получить поле, задать значение, получить кнопку, выполнить клик и тд


AutoIt
8 авг 21, 14:24    [22356773]     Ответить | Цитировать Сообщить модератору
 Re: Работа с HTML  [new]
Супер_Пав
Member

Откуда: Москва
Сообщений: 417
Cat2
Супер_Пав
Неужели нет решения для имитации действий пользователя? Получить поле, задать значение, получить кнопку, выполнить клик и тд


AutoIt

Спасибо!
9 авг 21, 14:48    [22357272]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить