Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][curl] Logowanie na plus.pl
sannin
post 3.01.2010, 23:43:41
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Cześć,

próbuje zalogować się na stronie plus.pl za pomocą curl, ale nie bardzo mi to idzie, kod wygląda tak:

  1. $post = array (
  2. "login=". $conf["login"] ."",
  3. "password=". $conf["password"] ."",
  4. "action=login",
  5. "success-url=https://www1.plus.pl/sso/konto/edycja/uslugi"
  6. );
  7.  
  8. $c = curl_init();
  9. curl_setopt($c, CURLOPT_POST, true);
  10. curl_setopt($c, CURLOPT_POSTFIELDS, implode("&", $post));
  11. curl_setopt($c, CURLOPT_URL, "http://www1.plus.pl/sso/logowanie/");
  12. curl_setopt($c, CURLOPT_COOKIEFILE, $conf["cookiepath"]);
  13. curl_setopt($c, CURLOPT_COOKIEJAR, $conf["cookiepath"]);
  14. curl_setopt($c, CURLOPT_HEADER, false);
  15. curl_setopt($c, CURLOPT_USERAGENT, $conf["useragent"]);
  16. curl_setopt($c, CURLOPT_TIMEOUT, $conf["timeout"]);
  17. curl_exec($c);
  18. curl_close($c);
  19. unset($c);


Kiedyś korzystałem z tego tutka http://marusz.net/?txt=23 i działało bardzo ładnie (wtedy było jeszcze miasto plusa). Teraz po odpaleniu pliku wyskakuje mi Logowanie i tyle, żadnego komunikatu o błędnym haśle nic. Tak wygląda sesja:

Cytat
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www1.plus.pl FALSE /sso/logowanie FALSE 0 JSESSIONID 0000Lv2PuoLfyGQMrd6RhQL0RI5:14ei4ts8f

Nie mogę dojść dlaczego to nie działa.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Marusz
post 4.01.2010, 07:51:53
Post #2





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 16.05.2003
Skąd: POLAND

Ostrzeżenie: (0%)
-----


Ha, widzisz. Plus zmienił całkowicie metodę autoryzacji. Jestem w trakcie pisania nowego skryptu, bo ten się już do niczego nie nadaje. W ostatnim czasie napisałem poprawki do skryptów perlowych dla projektu "Skrypty SMS" - http://code.google.com/p/skrypty-sms/

Tutaj masz działający przykład:
http://marusz.net/sms.txt

Najbardziej interesuje Ciebie zawartość zmiennej $prepareSMS. Na jej przykładzie sam możesz stwierdzić, jak potężnych zmian dokonał Plus.


--------------------
Go to the top of the page
+Quote Post
sannin
post 4.01.2010, 17:35:14
Post #3





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Widzę, że odezwał się sam autor kodu, dzięki bardzo smile.gif Na razie to nie mogę się zalogować, z tego co widzę to zmienne post mam dobre więc dlaczego się nie loguje?
Go to the top of the page
+Quote Post
patryk9200
post 4.01.2010, 17:56:12
Post #4





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

Ostrzeżenie: (0%)
-----


może mają zabezpieczenie aby nie można się było logować w ten sposób.
Niektóre strony to blokują, ja np żeby ominąć zabezpieczenia na innej stronie identyfikuję się jako google, ty byś mógł zmienić na useragenta np. firefoxa.
kod:
  1. $curl = curl_init();
  2. curl_setopt($curl, CURLOPT_REFERER, "http://www.google.pl/");
  3. //ustawiamy refferer na www.google.pl (niektóre strony mają zabezpieczenia
  4. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  5. //podążamy za ewentualnym przekierowaniem
  6. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  7. //wyniku nie wyświetlamy a zapisujemy do zmiennej co ułatwia prace nad nim
  8. curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)');
  9. //ustawiamy useragent (niektóre strony mają zabezpieczenia)
  10. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  11. //Maxymalny czas połączenia ze stroną
  12. curl_setopt($curl, CURLOPT_HEADER, 0);
  13. //nie chcemy dołączać nagłówka
  14. $strona = curl_exec($curl);
  15. //uruchamiamy skonfigurowanego curla
  16. curl_close($curl);
Go to the top of the page
+Quote Post
sannin
post 4.01.2010, 18:14:31
Post #5





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Useragenta mam podanego

Cytat
$conf = array (
"login" => "aaa",
"password" => "aaa",
"number" => aaa,
"useragent" => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",
"cookiepath" => dirname(__FILE__) . "/cookies.txt",
"timeout" => 10
);
Go to the top of the page
+Quote Post
patryk9200
post 4.01.2010, 18:56:24
Post #6





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

Ostrzeżenie: (0%)
-----


a to masz?
  1. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  2. //podążamy za ewentualnym przekierowaniem
Go to the top of the page
+Quote Post
sannin
post 4.01.2010, 22:25:43
Post #7





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Tego właśnie nie mam, ale po dodaniu dostaje komunikat o safe mode na serwerze.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:17