Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Curl i HTTPS
Manderigon
post 5.09.2013, 21:00:20
Post #1





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

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


Witam.
Posiadam pewien kawałek kodu, który nie za bardzo chce ze mną współpracować:

  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. ini_set('display_errors', '1');
  4.  
  5. $ch = curl_init();
  6. curl_setopt($ch, CURLOPT_URL, "https://m.dziennik.librus.pl/module/Common/action/Login");
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  9. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'tmp'); // replace this with /tmp or something like that
  10. curl_setopt($ch, CURLOPT_HEADER, 0);
  11. curl_setopt($ch, CURLOPT_POST, true);
  12.  
  13. $data = array(
  14. 'login' => 'login',
  15. 'passwd' => 'haslo',
  16. 'sessionRedirectUrl' => 'https://m.dziennik.librus.pl/module/Common/action/News'
  17. );
  18.  
  19. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  20. $output = curl_exec($ch);
  21. $info = curl_getinfo($ch);
  22. curl_close($ch);
  23.  
  24. echo $output; // you should see your profile page
  25. ?>


pola nazywają się 'login' i 'passwd'. Co w tym kodzie jest nie tak? Próbowałem też innych kodów z googli, każdy modyfikowałem na 'swoje' i nic.
Pzdr.
Go to the top of the page
+Quote Post
mlawnik
post 5.09.2013, 21:27:05
Post #2





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


chmod na pliku cookie, zainstalowany curl, jakis błąd? Może brakło ukrytego pola?

Ps: Piszę coś podobnego, tylko dla innego dziennika.
Kod: https://github.com/marcinlawnik/DziennikLog...aDownloader.php

Ten post edytował mlawnik 5.09.2013, 21:28:41


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
Manderigon
post 5.09.2013, 21:38:31
Post #3





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

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


Wyświetla się biała strona, czyli nic. Nie umiem programowania obiektowego w php, więc praktycznie nic nie rozumiem. Pracuję na XAMPP'ie, więc chmodów nie ma.
Go to the top of the page
+Quote Post
_Borys_
post 5.09.2013, 21:48:43
Post #4





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Dodaj
  1. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

chyba, że masz certyfikat ssl, to wtedy musisz podać ścieżkę do niego.
Go to the top of the page
+Quote Post
mlawnik
post 5.09.2013, 21:51:16
Post #5





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Dodaj sobie wywołania echo pomiędzy każdym poleceniem.
Sprawdź, czy masz zainstalowany mod_curl.

Stara wersja nie-OOP:
https://github.com/marcinlawnik/DziennikLog...aDownloader.php

Góra ma rację, to może być certyfikat wink.gif

Ten post edytował mlawnik 5.09.2013, 21:52:08


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
Manderigon
post 5.09.2013, 22:14:24
Post #6





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

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


Teraz wyskakuje mi okno logowania:

  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. ini_set('display_errors', '1');
  4.  
  5. $ch = curl_init();
  6. curl_setopt($ch, CURLOPT_URL, "https://m.dziennik.librus.pl/module/Common/action/Login");
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  10. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'tmp'); // replace this with /tmp or something like that
  11. curl_setopt($ch, CURLOPT_HEADER, 0);
  12. curl_setopt($ch, CURLOPT_POST, true);
  13.  
  14. $data = array(
  15. 'login' => '',
  16. 'passwd' => '',
  17. 'sessionRedirectUrl' => 'https://m.dziennik.librus.pl/module/Common/action/News'
  18. );
  19.  
  20. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  21. $output = curl_exec($ch);
  22. $info = curl_getinfo($ch);
  23. curl_close($ch);
  24.  
  25. echo $output; // you should see your profile page
  26. ?>
Go to the top of the page
+Quote Post
jackraymund
post 5.09.2013, 22:41:06
Post #7





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

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


  1. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  2. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

po wyslaniu requesta sprawdz co zwraca curl_error()
  1. echo curl_error($ch);


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post
Manderigon
post 6.09.2013, 21:17:20
Post #8





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

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


Nic nie zwraca.

@ref
Go to the top of the page
+Quote Post
mlawnik
post 7.09.2013, 00:06:37
Post #9





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Nic nie zwraca, bo zalogowało i nie przechodzisz dalej.


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
jackraymund
post 7.09.2013, 09:32:56
Post #10





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

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


najlepiej to sprawdzić co zwraca ustawiając(sprawdzić http_code(czasami curl_getinfo nie zwraca danych nagłówka, dlatego lepiej go wyrysować biggrin.gif)
  1. curl_setopt($ch, CURLOPT_HEADER, 1);
  2. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

+ dodanie logowania poczynań curla(jak nie wiesz co jest grane to zawsze tego uzywaj)
  1. $fp_err = fopen('verbose_file.txt', 'ab+');
  2. fwrite($fp_err, date('Y-m-d H:i:s') . "\n\n");
  3. curl_setopt($zapytanie, CURLOPT_STDERR, $fp_err);
  4. curl_setopt($zapytanie, CURLOPT_VERBOSE, 1);

jak nadal nie wiesz co nie tak, to wyślij ten log tutaj

Ten post edytował jackraymund 7.09.2013, 09:37:40


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 12:58