Witam. Potrafie juz dodawac za pomoca curla komentarze ale tylko tam gdzie nie musze sie zalogowac.
Jak zrobic zeby curl mi sie logowal sam ?
logowac sie trzeba recznie, ale tez przez cUrl'a. dobrze by bylo zebys wiedzial na czym polega logowanie sie --> http, post, session, cookies
a wyglada tak, ze musisz skonfigiruwac cUrla to przetrzymywania session cookies, musisz wyslac zapytanie POST zawierajace dane logowania (np. login i haslo), no i juz. w odpowiedzi na POST'a powinienes dostac ciacho autoryzacyjne, i od tej pory powinines moc wysylac posty POSTem
wszystkie niezbedne operacje sa pokazane w przykladach w manualu do cUrla
Witam. Dalej nie wiem jak sie logowac. Czytalem mase manuali w php.pl jak i na curlsite.haxx.com ( jakos tak ) i dalej nie moge sie zalogowac.
Oto krotki kod programu logujacego:
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
char *url="http://www.2g4y.yoyo.pl/www/2g4y/index.php5";
char *method_post="login=gnom&pass=wingheaen&code=gnom&A=gnom&remember=on";
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "/home/grymek/cookies.txt");
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "/home/grymek/cookies.txt");
curl_easy_setopt(curl, CURLOPT_HEADER, 1);
curl_easy_setopt(curl, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; U; Linux i386; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3");
curl_easy_setopt(curl, CURLOPT_HTTPAUTH,CURLAUTH_ANY);
curl_easy_setopt(curl, CURLOPT_USERPWD,"gnom:wingheaven");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, method_post);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
gdzie pola wygladają nastepująco do logowania sie: klik</url>
Login i haslo udostepniam. Prawdziwy adres strony nazywa sie : http://www.2g4y.yoyo.pl/www/2g4y/index.php5
w skrocie 2g4y.blo.pl
ee.. zdecyduj sie - albo login poprez POSTFIELDS (czyli poprzez zwykle wyslaeni formualrza) albo poprzez HTTP_AUTH - czyli USERPWD. to sa totalnei dwa rozne mechanizmy. o ile dobrze widze, stronka yoyo korzysta z forms, czyli te 2 settingsy httpauth oraz userpwd sa co najmniej zbedne. natomiast do prawidlowej obslugi sesji, brakuje Ci settinga mowiacego aby cUrl przechowywac w cookiefile/cookiejar takze cistka sesyjne:
curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 1);
bez tego, mimo ze post'em wyslesz login i haslo poprawnie, i sie nawet zalogujesz - to cUrl nie bedzie tryzmal ID sesji, i wszystko na nic.