Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sparsowanie strony po zalogowaniu się
Forum PHP.pl > Forum > PHP
TomASS
mam stronę na której jest formularz logowania:

http://www.strona/index.php
  1. <form name="form1" method="post" action="">
  2. <input name="login" type="text" />
  3. <input name="passwd" type="password" />
  4. <input type="submit" value="Zaloguj" />
  5. </form>


hasło i login posiadam

Po zalogwaniu się, chcę przejść na stronę (dostępną tylko po zalogowaniu) http://www.strona/index.php?zmienna=1 i ją sparsować (wyszukać daną frazę) - wyszukiwaniem nie ma problemu, gorzej z zalogowaniem się. Próbowałem kod znaleziony na forum:
  1. <?php
  2. function get_file_contents($url)
  3. {
  4.  
  5. $read = curl_init();
  6. curl_setopt ($read, CURLOPT_URL, $url);
  7. curl_setopt ($read, CURLOPT_HEADER, false);
  8. //curl_setopt($read, CURLOPT_SSL_VERIFYPEER, false); //SSL
  9. curl_setopt($read, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  10. curl_setopt($read, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  11. curl_exec ($read);
  12. curl_close ($read);
  13. $file = ob_get_contents();
  14. return $file;
  15. }
  16.  
  17.  
  18. function formularz_logowanie($url)
  19. {
  20.  
  21. $read = curl_init();
  22. $postFields['login'] = 'loginek';  //IDENTYFIKATOR
  23. $postFields['passwd'] = 'haselko'; //HASLO
  24.  
  25. curl_setopt($read, CURLOPT_SSL_VERIFYPEER, false); //SSL
  26. curl_setopt($read, CURLOPT_POSTFIELDS, $postFields);
  27. curl_setopt ($read, CURLOPT_URL, $url);
  28. curl_setopt ($read, CURLOPT_HEADER, false);
  29. curl_setopt($read, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  30. curl_setopt($read, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  31. curl_exec ($read);
  32. curl_close ($read);
  33. $file = ob_get_contents();
  34. return $file;
  35. }
  36.  
  37.  
  38.  
  39.  
  40. $url='http://www.strona/index.php';
  41. $logowanie = get_file_contents($url);
  42. $zalogowany = formularz_logowanie($url);
  43. echo $logowanie;
  44. echo $zalogowany;
  45. ?>

ale echo wyświetla mi tylko formularz logowania :/
Virti
spróbuj włączyć CURLOPT_HEADER ww formularz_logowanie();
TomASS
Kurde, że też tego nie doczytałem smile.gif Rzeczywiście działa smile.gif Dodałem dwie linie:

  1. <?php
  2. curl_setopt($read, CURLOPT_HEADER, 1);
  3. curl_setopt($read, CURLOPT_RETURNTRANSFER, 1);
  4. ?>
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.