Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> cURL
ManiQu
post 25.01.2009, 11:58:18
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


Witam.
Potrzebuje napisać skrypt który zaloguje się na strone i pobierze interesujace mnie dane. Napisałem coś takiego ale to nie działa winksmiley.jpg
  1. <?php
  2. $c = curl_init('http://ls-rp.net/profil/Aleks_Dollares/');
  3. curl_setopt($c, CURLOPT_URL, 'http://ls-rp.net/profil/Aleks_Dollares/');
  4. 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");
  5. curl_setopt($c, CURLOPT_POST, 1);
  6. curl_setopt($c, CURLOPT_POSTFIELDS,
  7. 'username=a&password=b');
  8. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  9. curl_getinfo($c);
  10. $s = curl_exec($c);
  11. curl_close($c);
  12.  
  13. echo $s; //wyświetla stronę
  14. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
djstrong
post 25.01.2009, 12:05:42
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 22.09.2006

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


Co znaczy nie działa?
Go to the top of the page
+Quote Post
ManiQu
post 25.01.2009, 13:05:32
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


nie wyswietla strony
Go to the top of the page
+Quote Post
djstrong
post 25.01.2009, 13:30:43
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 9
Dołączył: 22.09.2006

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


działa mi to:
  1. <?php
  2. $c = curl_init('http://www.onet.pl');
  3. curl_setopt($c, CURLOPT_URL,'http://www.onet.pl');
  4. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT
  5. 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
  6. curl_setopt($c, CURLOPT_POST, 1);
  7. curl_setopt($c, CURLOPT_POSTFIELDS,'username=a&password=b');
  8. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  9. curl_getinfo($c);
  10. $s = curl_exec($c);
  11. curl_close($c);
  12.  
  13. echo $s; //wyświetla stronę
  14. ?>


a tamtej strony nie wyświetla bo dostajesz 302. trzeba dodać opcję FOLLOW_LOCATION, niektóre serwery mają ją zablokowaną, więc byś musiał samemu napisać odpowiednią funkcję.

Ten post edytował djstrong 25.01.2009, 13:33:28
Go to the top of the page
+Quote Post
jareeny
post 25.01.2009, 13:31:54
Post #5





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


A co zwraca curl_getinfo? Uprzedzam pytanie 'jak'

Na przykład:
  1. <?php
  2. ...
  3. $info = curl_getinfo($c);
  4. echo $info['http_code'];
  5.  
  6. ?>


Ten post edytował jareeny 25.01.2009, 13:32:42


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
gizmoo
post 25.01.2009, 13:33:10
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 29.11.2008

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


Ustaw jeszcze ciacho
Go to the top of the page
+Quote Post
ManiQu
post 25.01.2009, 15:22:27
Post #7





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 2.09.2007

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


To też mi nie działa smile.gif
Go to the top of the page
+Quote Post
gizmoo
post 25.01.2009, 17:39:03
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 29.11.2008

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


Ale ja widze, że oprócz hasła i loginu w nagłowkach jest przesyłane coś jeszcze. Przeanalizuj nagłówki i wyślij to samo. Ciastko nie jest potrzebne.
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: 19.07.2025 - 17:26