используйте CURLOPT_WRITEFUNCTION & CURLOPT_WRITEDATA , чтобы захватить страницу, извлеченную скручиваемостью, и проверить, содержит ли она строку «успешно выполнен вход», что-то вроде
size_t curl_write_callback(const void * read_ptr, const size_t size,
const size_t count, void *s_ptr)
{
(*(string*) s_ptr).append((const char*) read_ptr, size * count);
return count;
}
а затем
curl_easy_setopt(curl, CURLOPT_URL, "http://forum.nephrite.ro/index.php?app=core&module=global§ion=login/");
string html;
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&html);
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,curl_write_callback);
curl_easy_perform(curl);
if(html.find_first_of("Welcome back Dave!")!=string::npos){
// login successful!
} else{
// login failed
}
просто замените Welcome back Dave!
какой-либо строкой, которая представляется вам только после успешного входа в систему.и, кстати, при использовании c ++ не используйте лямбду для CURLOPT_WRITEFUNCTION, и если вы собираетесь использовать член класса для обратного вызова, функция-член класса должна быть статической, иначе вывероятно, что произойдет сбой во время выполнения .. (был там, сделал это>. <) </p>