mam następujący kod do logowania się przez cURL na rapidshare:
$curl = curl_init('https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile curl_setopt($curl, CURLOPT_POSTFIELDS, "login=TWOJLOGIN&password=TWOJEHASLO"); curl_exec($curl); curl_close ($curl);
Chciałbym po zalogowaniu wyciągnąć z kodu strony kilka rzeczy (czas ważności, transfer).
Niestety, skrypt nie łączy mi się (po podaniu dobrych danych) - ciągłe ładowanie i ładowanie i ładowanie... aż do przekroczenia limitu czasu.
Sprawdzałem na 3 hostingach, każdy ma curl i na żadnym takie same objawy. Próby ładowania innych stron kończą się natomiast sukcesem.
EDIT:
Ok, doszedłem do tego, że coś mam nie tak z ssl w libcurl.
Mniejsza o to, w ogóle mam problem z logowaniem, inny przykład:
$url = 'http://forum.jacenter.pl/ucp.php?mode=login'; $post = 'login=LukasAMD&haslo=moje-haslo'; $cookie = 'cookies.txt'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_HEADER, 1); //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_getinfo($ch); curl_exec($ch); if(curl_errno($ch)) { } else { } curl_close ($ch);
Oczywiście gdy testuję, podaję prawdziwe dane. Forum oparte na phpbb3.
W odpowiedzi otrzymuję podstronę do logowania, ale bez żadnych komunikatów.
Np. podam błędne dane POST to i tak nie zwraca mi strony z takim komunikatem.
Plik cookies ma odpowiedni CHMOD, co dziwne, zapisuje tam nawet dane z sesji.
Próbowałem po takim połączeniu robić drugie, na stronę główną, już bez POSTów - no i nie zalogowało mnie, bo widzę wszystko jako gość...
Co robię źle? Przekopałem już tutorial na portalu dotyczący cURL, ale nadal nie widzę rozwiązania.