Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]pobieranie danych z zewnetrznej strony www
Forum PHP.pl > Forum > Przedszkole
el_plecinio
Witam, nauczyłem pobierać sie dane z zewnętrznych ston www ale jest jeden szczegół - ten kod poniżej pozwala tylko pobierac dane ogólno dostępne ...
Istnieje możliwosć w curl pobierania danych dostępnych po zalogowaniu np mająć ussera o nazwie usser i hasle pass?

  1. $url = 'stronka.com?p=costam'; //adres strony do przeskanowania jako lancuch znakow
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL,$url); // ustawienie urla
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // zwróć w postaci zmiennej
  5. curl_setopt($ch, CURLOPT_TIMEOUT, 3);
  6. $result = curl_exec($ch); // wykonanie skryptu
  7. curl_close($ch);
  8.  
  9. $pattern = '(#Youth League - four days remaining to join! (.*) Thank you for your support#)';
  10.  
  11. $ile = preg_match_all($pattern, $result, $matches, PREG_PATTERN_ORDER);
  12.  
  13. for ($i=0; $i<count($ile); $i++) {
  14. echo ($matches[0][$i]) . '<br>';
  15. }



jasin
Może tu znajdziesz przydatne info: curl - logowanie
No i w manualu w komentarzach też coś ciekawego może piszą ... curl
el_plecinio
  1. $cookie_file = 'cookie.txt';
  2.  
  3. $c = curl_init('http://managerzone.com/');
  4. curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file);
  5. curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file);
  6. curl_setopt($c, CURLOPT_URL, 'http://managerzone.com/?p=login&lang=pl');
  7. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
  8. curl_setopt($c, CURLOPT_POST, 1);
  9. curl_setopt($c, CURLOPT_POSTFIELDS,
  10. 'username=xxxx&password=xxxxxx&remember_me=1');
  11. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  12. curl_getinfo($c);
  13. $s = curl_exec($c);
  14. curl_close($c);
  15.  
  16. $url = 'http://managerzone.com/?p=clubhouse';
  17. $ch = curl_init();
  18. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  19. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  20. curl_setopt($ch, CURLOPT_URL, $url);
  21. curl_setopt($ch, CURLOPT_HEADER, 0);
  22. curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  23. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
  24. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  25. curl_setopt($ch, CURLOPT_TIMEOUT, 3);
  26. $result = curl_exec($ch);
  27. curl_close($ch);
  28. $pattern = '(#Ligi Juniorskie(.*) dni zapisów#)';
  29.  
  30. $ile = preg_match_all($pattern, $result, $matches, PREG_PATTERN_ORDER);
  31.  
  32. for ($i=0; $i<count($ile); $i++) {
  33. echo ($matches[0][$i]) . '<br>';
  34. }



zrbiłem takie coś ale nie działa sad.gif

  1. # Netscape HTTP Cookie File
  2. # This file was generated by libcurl! Edit at your own risk.
  3.  
  4. managerzone.com FALSE / FALSE 0 PHPSESSID xxxxxxxxxxxxxxxxx
  5. managerzone.com FALSE / FALSE 000000 MZLANG pl
  6. managerzone.com FALSE / FALSE 00000000 MZLOGIN 0

plik cooke generuje sie tak - tylko wszelkie liczby usunełem ;]

Tak jak sprawdziłem to logowanie wychodzi dobrze wiec coś z tym kodem musi byc nie tak:

$url = 'http://managerzone.com/?p=clubhouse';
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$result = curl_exec($ch);
curl_close($ch);
$pattern = '(#Ligi Juniorskie(.*) dni zapisów#)';

$ile = preg_match_all($pattern, $result, $matches, PREG_PATTERN_ORDER);

for ($i=0; $i<count($ile); $i++) {
echo ($matches[0][$i]) . '<br>';
}
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.