Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CURL] Logowanie
Forum PHP.pl > Forum > PHP
Kikert
Cześć,
bawię się cURL i próbuję stworzyć plik, który automatycznie zalogowałby mi się na daną stronę (tutaj na Grono). Z niewiadomych przyczyn skrypt nie chce mi pokazać strony, na którą user zostaje "przerzucony" po zalogowaniu, jednak pokazuje mi <title> w przeglądarce. Dodam, że formularz zrobiony ręcznie działa. Skrypt nie wyświetla żadnych błędów.

  1. <?php
  2.  
  3. // Otwarcie połączenia
  4. $transfer = curl_init();
  5.  
  6. // Ustawienie adresu dla połączenia
  7. curl_setopt($transfer, CURLOPT_URL, 'https://grono.net/');
  8.  
  9. // Inne ustawienia
  10. curl_setopt($transfer, CURLOPT_POST, 1);
  11. curl_setopt($transfer, CURLOPT_POSTFIELDS, 'dest=/users/&form_type=login&login=xxxk&password=xxx');
  12. curl_setopt($transfer, CURLOPT_FOLLOWLOCATION, 1);
  13.  
  14. // Otwarcie sesji, podpięcie strony pod zmienną
  15. $strona = curl_exec($transfer);
  16.  
  17. //Wypisanie strony
  18. print $strona;
  19.  
  20. // Zamknięcie połączenia
  21. curl_close($transfer);
  22.  
  23. ?>
neverever
dorzuć
  1. curl_setopt($transfer, CURLOPT_REFERER, 'https://grono.net/');
  2. curl_setopt($transfer, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  3. curl_setopt($transfer, CURLOPT_RETURNTRANSFER, 1);


no i nie zaszkodzi użyć ciastek CURLOPT_COOKIEJAR/CURLOPT_COOKIEFILE
Kikert
OK. A jak to jest z ciasteczkami? Jeżeli jakieś są zwracane, to wystarczy dodać te dwie linie, żeby z nich korzystać?
neverever
  1. $patch=dirname(__FILE__).'/';
  2. $cookie = 'cookie.txt'; /* plik ciastka, możesz też ciastka zapisywać oddzielnie dla różnych loginów np: $cookie=$login.'.txt'; */
  3. if(!file_exists($cookie)) touch($cookie); /* jeżeli brak pliku ciastka - stawia plik */
  4.  
  5.  
  6. curl_setopt($transfer, CURLOPT_COOKIEJAR, $patch.$cookie); /* zapis ciastka dla aktualnej sesji */
  7. curl_setopt($transfer, CURLOPT_COOKIEFILE, $patch.$cookie); /* odczyt i uzycie ciastka w aktualnej sesji */

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.