Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Skrypt nie działa - curl?
Manderigon
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


Witam.
Mam skrypt, który normalnie śmiga mi na localhoscie. Ma on za zadanie za pomocą curla zalogowac sie na stronę, pobrać przez wyrażenia regularne odpowiednie kawałki kodu, a następnie je wyświetlić. Kiedy wrzucam skrypt na hosting, który ma włączona obsługę curl i wyłączone safe mode, funkcja preg_match nagle przestaje działać. Łączy się curlem, ale nie wyświetla już danych, które ma wyciąć. (curl_exec ze źródłem strony pokazuje) Co może być przyczyną tego, że preg_match nagle przestaje funkcjonować? Ciekawostka - mimo ustawionych uprawnień 777, skrypt nie chce utworzyć mi pliku cookies.txt, a jak go sam utworze to nie chce nic w nim zapisać.
Pozdrawiam.

@ref

@ref
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
-wtf-
post
Post #2





Goście







w 10 linijce masz blad nie zdefiniowales zmiennej.

pokaz kod
Go to the top of the page
+Quote Post
Manderigon
post
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


  1. <html><head><meta http-equiv=content-type content="text/html; charset=utf-8"></head></html>
  2. <?php
  3.  
  4.  
  5. $url = "https://m.dziennik.librus.pl/module/Common/action/Login";
  6. $ua = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0";
  7. $ch = curl_init($url);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9. curl_setopt ($ch, CURLOPT_USERAGENT, $ua);
  10. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  11. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  12. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  13. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  14. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  15. curl_setopt($ch, CURLOPT_HEADER, 0);
  16. curl_setopt($ch, CURLOPT_POST, true);
  17. $login = 'login';
  18. $passwd = 'haslo';
  19. $data = "login=".$login."&passwd=".$passwd."&loginButton=1";
  20. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  21. $output = curl_exec($ch);
  22.  
  23. curl_close($ch);
  24.  
  25. echo $output;
  26.  
  27. ?>



Na localhoscie smiga jak marzenie, na darmowych hostingach - nie. :/
Po wpisaniu poprawnych danych pokazuje białą stronę, tak jakby curl nie działał. hostingi mają włączonego curla, a safe_mode jest wylączony.

Ten post edytował Manderigon 13.09.2013, 17:35:17
Go to the top of the page
+Quote Post
jackraymund
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


Włącz debugowanie kodu, błędu nie wyświetla
na safe_mode off nie można mieć followlocation
  1. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

na darmowych hostingach żadko jest curl (IMG:style_emoticons/default/smile.gif) sprawdz czy istnieje taka funkcja

Ten post edytował jackraymund 13.09.2013, 20:49:48
Go to the top of the page
+Quote Post
Manderigon
post
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


No niestety dalej to samo.
Go to the top of the page
+Quote Post
jackraymund
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


  1. if(!function_exists("curl_init")) echo "brak curla";

Uruchom gdzieś na początku kodu, jezeli sie to wyswietli, no to wiadomo, zmień serwer.
Go to the top of the page
+Quote Post
Manderigon
post
Post #7





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


No curl_init działa, więc powinno wszystko być ok. o.o
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.12.2025 - 05:57