Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zalogowanie na strone ( curl ), Problem z wysylaniem postem.
Gutyo
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.08.2011

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


Witam.

Ostatnio chciałem się zalogować na stronę torrenty.org poprzez curl, lecz nic z tego, ponieważ na przeszkodzie stoi captcha.
  1. <?php
  2. $c = curl_init();
  3. curl_setopt($c, CURLOPT_URL, 'http://www.torrenty.org/login.php');
  4. curl_setopt($c, CURLOPT_POST, 1);//przesylamy metodą post
  5. curl_setopt($c, CURLOPT_POSTFIELDS, 'user=****&password=****&kod=123456'); //dane do wyslania
  6. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  7. $page = curl_exec($c);
  8. curl_close($c);
  9. echo $page;
  10. ?>


Nawet jak wysyłam takie zapytanie, to nie wyskakuje żaden błąd o złych danych.

Używam wtczki HttpFox, do firefoxa, aby odczytywać nagłówki, ciastka itp.

Czy istnieje jakiś sposób na zalogowanie ?
Czy mogę się zalogować lokalnie, a później skopiować ciasteczki na serwer, aby ominąć logowanie ?
Go to the top of the page
+Quote Post
karolrynio
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Polecam Ci do przeczytania:
http://php.pl/Wortal/Artykuly/PHP/Bibliote...ol-HTTP/Ciastka

Szczególną uwagę zwróć na:
CURLOPT_COOKIEFILE i CURLOPT_COOKIEJAR


Go to the top of the page
+Quote Post
Gutyo
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.08.2011

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


Dzięki za zainteresowanie, lecz nadal nic z tego.

Wgrałem plik cookie.txt na serwa, ustawiłem chmody na 777, a plik jest pusty, mimo iż ma zapisywać do niego ciastko.

  1. $ch = curl_init('http://torrenty.org/login.php');
  2. curl_setopt($ch, CURLOPT_HEADER, 1);
  3. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
  4. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
  5. curl_exec($ch);
  6. curl_close($ch);



Lecz jeżeli zamiast adresu torrenata dam np: http://poczta.wp.pl, wtedy otrzymuje ciasteczko.

W takim razie coś jest nie tak ze stroną torrenty.org ?
Ktoś ma jeszcze jakieś podpowiedzi ?

Ten post edytował Gutyo 16.08.2011, 15:21:35
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zainteresuj się OCR
Go to the top of the page
+Quote Post
Gutyo
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.08.2011

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


To już nie chodzi o tą captche. Poprostu nawet jak znam już kod jaki mam wpisać to nie działa wysyłanie formularzem.

Ok poradziłem sobie zapisując ciastko na sztywno w kodzie, za pomocą:

curl_setopt($curl, CURLOPT_COOKIE, "jakies tam ciasteczko");

Ten post edytował Gutyo 16.08.2011, 16:43:45
Go to the top of the page
+Quote Post
karolrynio
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Prawdopodobnie problem jest w tym, że:
W pierwszym kodzie wysyłasz dane postem ale nie wysyłasz pobierasz ciasteczek:
  1. curl_setopt($c, CURLOPT_POST, 1);//przesylamy metodą post
  2. curl_setopt($c, CURLOPT_POSTFIELDS, 'user=****&password=****&kod=123456'); //dane do wyslania


Za to w drugim kodzie który pokazałeś wysyłasz / odbierasz ciasteczka ale nie wysyłasz danych postem:
  1. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
  2. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');



Połącz dwa kody w jeden i powinno jakoś działać.

Później wystarczy, że przy pobieraniu kolejnych stron po zalogowaniu będziesz dodawał:
  1. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
  2. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');

Go to the top of the page
+Quote Post
Gutyo
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.08.2011

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


Metoda wysyłania postem, oraz pobieranie ciasteczek i zapis ich do pliku nie działała na tej stronie co chciałem, lecz np, na pocztę wp.pl zalogowałem się normalnie i zapisało mi się ciasteczko do pliku.

Próbowałem już oba mieszać i nic nie dało. Dlatego zalogowałem się lokalnie, za pomocą wtyczki HttpFox pobrałem nagłówki oraz ciasteczki i na sztywno wpisałem w kod. Teraz wszystko ładnie działa, lecz dzięki za zainteresowanie.

Pozdrawiam, Gutyo.
Go to the top of the page
+Quote Post
Fifi209
post
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Gutyo @ 16.08.2011, 17:28:32 ) *
To już nie chodzi o tą captche. Poprostu nawet jak znam już kod jaki mam wpisać to nie działa wysyłanie formularzem.

A skąd ją niby znasz? (IMG:style_emoticons/default/smile.gif) Za każdym odświeżeniem strony masz nowy kod, więc mnie to bardzo ciekawi.
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: 24.12.2025 - 16:45