![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Bardzo proszę o pomoc w rozwiązaniu mojego problemu. Postaram się wszystko wyjaśnić ale jakby co to proszę pytać. A więc chciałbym się zalogować za pomocą cURLa na pewną stronę www. Włączyłem Live HTTP headers i przechwyciłem to co wysyła przeglądarka przy logowaniu.
CODE http://www.jakasstronka.pl/logowanie.php POST /logowanie.php HTTP/1.1 Host: www.jakasstronka.pl User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: http://www.jakasstronka.pl/login.php Content-Type: application/x-www-form-urlencoded Content-Length: 37 login=jakislogin&pass=jakieshaslo&submit=Zaloguj HTTP/1.1 302 Moved Temporarily Date: Sat, 19 Jun 2010 10:52:32 GMT Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.5-pl1-gentoo Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=1347fd201120ffc73dc1405074f99eae; path=/ Set-Cookie: PHPSESSID=1a70b7248455ae298b5ddbae80011f92; path=/ Location: index.php Content-Length: 0 Keep-Alive: timeout=15, max=99 Connection: Keep-Alive Content-Type: text/html ---------------------------------------------------------- http://www.jakasstronka.pl/index.php GET /index.php HTTP/1.1 Host: www.jakasstronka.pl User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: http://www.jakasstronka.pl/login.php Cookie: PHPSESSID=1a70b7248455ae298b5ddbae80011f92 HTTP/1.1 200 OK Date: Sat, 19 Jun 2010 10:52:32 GMT Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.5-pl1-gentoo Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Keep-Alive: timeout=15, max=98 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html Przy okazji dlaczego są dwie różne wartości PHPSESSID? Po co jest ta pierwsza? Ok nieważne, następnie stworzyłem taki pomocniczy plik t.php w którym jest:
I teraz tak: Po zalogowaniu się przez przeglądarkę i odczytaniu tej drugiej wartości PHPSESSID z Live HTTP headers, wywołałem w przeglądarce mój plik t.php z przekazaniem PHPSESSID czyli: http://localhost/q/t.php?ciacho=1a70b72484...b5ddbae80011f92 (w tym przypadku tak to wyglądało). No i wszystko ok, ukazała mi się stronka i byłem zalogowany, więc wymyśliłem, że napiszę sobie plik index.php:
Hmm i tu jest pies pogrzebany. Na pewno tu jest coś nie tak ale nie wiem co. Po kliknięciu na link nie jestem zalogowany. Męczę się z tym już naprawdę sporo czasu i proszę o pomoc bo mnie krew zalewa już. Nie wiem czy to się komuś przyda, ale jak wejdę na mój index.php to źródło strony wygląda tak:
Z tego wynika, że dobrze zrobiłem wyodrębnienie tego drugiego PHPSESSID bo w linku jest to ładnie zawarte. Nie mam siły już do tego... Proszę pomóżcie (IMG:style_emoticons/default/sadsmiley02.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
z tego co pamietam CURLOPT_COOKIEJAR sprawi ze nie musisz bawic sie w reczne ustawianie ciastek, curl ustawi te ciastka ktore dostanie od serwera
wysylasz wtedy tylko tego posta ktorym chcesz sie logowac i wszystko powinienes miec done bez zadnych czarymary (IMG:style_emoticons/default/smile.gif) Ten post edytował yevaud 19.06.2010, 14:03:42 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Albo mi to nie działa albo nie wiem jak to zrobić (IMG:style_emoticons/default/sad.gif) Można coś więcej o tych opcjach? Co to niby robi dokładnie? Bo na http://wortal.php.pl/wortal/artykuly/php/b...ol_http/ciastka jakoś skąpo jest to opisane.
EDIT: Ok jak dodaję takie coś: Kod curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt'); To w katalogu pojawia się plik cookies.txt w którym jest identyfikator sesji (tylko ten drugi) czyli niby ok ale jak ja mam użyć tego ciasteczka? Ten post edytował quak 19.06.2010, 14:35:36 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
po prostu za kazdym razem jak uzywasz curl dodawaj te opcje, i ciasteczko "uzyje sie samo" (IMG:style_emoticons/default/smile.gif)
po logowaniu pusc urla i sprawdz czy strona wyglada jak po zalogowaniu - prawdopodobnie tak |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 14.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie działa. Szlak mnie trafia powoli bo nie mam pojęcia o co chodzi! (IMG:style_emoticons/default/sciana.gif)
EDIT: Usunąłem to co zbędne i działa (IMG:style_emoticons/default/ohmy.gif) Nie wiem o co chodziło (IMG:style_emoticons/default/tongue.gif) W każdym razie dzięki za pomoc, pozdrawiam (IMG:style_emoticons/default/smile.gif) Ten post edytował quak 19.06.2010, 14:50:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 22:15 |