Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z cURL
Forum PHP.pl > Forum > PHP
szymon1215
Mam taki skrypt:
  1. <?php
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, "http://www.darkorbit.pl/big/?aid=3047&aip=");
  4. curl_setopt($ch, CURLOPT_HEADER, 0);
  5. curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
  6. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  7. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7');
  8. curl_setopt($ch, CURLOPT_POST, 1);
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, "loginForm_default_username=****&loginForm_default_password=****&loginForm_default_login_submit=Logowanie&LPId=3578");
  11. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  12. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  13. $str = curl_exec($ch);
  14. curl_close($ch);
  15.  
  16. $pozycjaStart = strpos($str, "pl2");
  17. $sub = substr($str, 0, $pozycjaStart);
  18. $str = str_replace($sub, "", $str);
  19. $pozStart = strpos($str, "href=\"") + 6;
  20. $sub = substr($str, 0, $pozStart);
  21. $str = str_replace($sub, "", $str);
  22. $link = substr($str, 0, strpos($str, "\""));
  23.  
  24. $c = curl_init();
  25. curl_setopt($c, CURLOPT_URL, $link);
  26. curl_setopt($c, CURLOPT_HEADER, 0);
  27. curl_setopt($c, CURLOPT_COOKIESESSION, 1);
  28. curl_setopt($c, CURLOPT_VERBOSE, 1);
  29. curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7');
  30. curl_setopt($c, CURLOPT_FOLLOWLOCATION, 0);
  31. curl_setopt($c, CURLOPT_COOKIEFILE, 'cookie.txt');
  32. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  33. $str2 = curl_exec($c);
  34. curl_close($c);
  35. echo $str2;
  36. ?>

Pierwsza część wykonuje się dobrze i otrzymuje żądaną stronę, jednak echo $str2 pokazuje tylko pustą stronę. Gdzie mam błąd?
rocktech.pl
Witam.

Zobacz co tu wyprawiasz.

  1. ...
  2. $link = substr($str, 0, strpos($str, "\""));
  3. var_dump ( $link );
  4.  
  5. curl_setopt($c, CURLOPT_URL, $link);
  6. ...
szymon1215
Dla pewności sprawdziłem długość i wszystko jest dobrze. Oryginał to również 314 znakowy string. Co do kodu, to wiem, najgenialniejszy nie jest, ale jak uzyskać w php coś takiego?
Kod
int pozycjaStart = kodStrony1.IndexOf("pl2");
                kodStrony1 = kodStrony1.Remove(0, pozycjaStart);
                kodStrony1 = kodStrony1.Remove(0, kodStrony1.IndexOf("href=\"") + 6);
                string link = kodStrony1.Substring(0, kodStrony1.IndexOf("\""));
yozer2308
Użyj wyrażeń regularnych.
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.