После беглого взгляда на страницу входа в систему это можно сделать с помощью libcurl, разместив комбинацию имени пользователя и пароля на своей странице аутентификации и предполагая, что они используют файлы cookie для представления сеанса входа в систему. Первый шаг - убедиться, что у вас установлены следующие параметры:
- CURLOPT_FOLLOWLOCATION - Сервер может перенаправить после аутентификации, это довольно часто.
- CURLOPT_POST - Это говорит libcurl о переходе в режим post.
- CURLOPT_POSTFIELDS - Это сообщает libcurl значения, которые нужно установить для полей записей. Установите эту опцию на «
userId=<insert username>&password=<insert password>
». Это значение получено из исходного кода для этой страницы.
- CURLOPT_USERAGENT - Установите простой пользовательский агент, чтобы веб-сервер его не выбрасывал (некоторые строгие могут это сделать).
Затем, как только публикация будет завершена, экземпляр libcurl должен содержать какой-то файл авторизации, используемый сайтом для идентификации вошедшего в систему пользователя. Curl должен отслеживать куки в данном экземпляре. Существует множество вариантов для Curl, если вы хотите настроить поведение файлов cookie.
Убедитесь, что после того, как вы вошли в систему, один и тот же экземпляр libcurl используется для каждого запроса под этой учетной записью, в противном случае он будет видеть вас как вышедших из системы.
Что касается синтаксического анализа полученных страниц, то для c существуют тонны HTML-парсеров - просто google . Единственное, что я скажу - не пытайтесь написать HTML-парсер самостоятельно. Общеизвестно сложно, потому что многие сайты не производят хороший (или даже работающий) HTML.