Libcurl [c++]

0

Witam. Potrafie juz dodawac za pomoca curla komentarze ale tylko tam gdzie nie musze sie zalogowac.
Jak zrobic zeby curl mi sie logowal sam ?

0

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

0

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

0

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1