Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> cURL: logowanie się do onetu
kordian
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2009

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


Witam,

Chcę zalogować się do poczty za pomocą php. Wybrałem sobie onet i wydaje mi się, że wszystko przebiega prawidłowo, ale nie dostaję w wyniku jego uruchomienia strony z mailami.

  1. function getContacts($login, $password){
  2. $cookie = "onet.txt";
  3. $curl = curl_init('http://poczta.onet.pl/');
  4.  
  5. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  6. curl_setopt($curl, CURLOPT_REFERER, "http://poczta.onet.pl/login.html");
  7. curl_setopt($curl, CURLOPT_HEADER, 1);
  8. curl_setopt($curl, CURLOPT_POST, true);
  9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  10. curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  11. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
  12. curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
  13. curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
  14. curl_setopt($curl, CURLOPT_REFERER, "http://poczta.onet.pl/");
  15. curl_setopt($curl, CURLOPT_POSTFIELDS, 'e='.$login.'&m=0&ok=0&ver=0&r=&p='.$password.'&x=0&y=0&perm=0');
  16. $result = curl_exec($curl);
  17.  
  18. curl_close ($curl);
  19. return $result;
  20. }
  21.  
  22. $z = getContacts("login", "hasło");
  23. print_r($z);


W wyniku wykonania dostaję takie nagłówki:

HTTP/1.1 302 Found Server: nginx Date: Thu, 08 Oct 2009 21:46:44 GMT Content-Type: text/html; charset=iso-8859-2 Transfer-Encoding: chunked Connection: close Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Expires: Wed, 08 Oct 2008 21:50:10 GMT Location: folder.html P3P: CP="ALL DSP COR IVD IVA PSD PSA TEL TAI CUS ADM CUR CON SAM OUR IND" HTTP/1.1 302 Found Server: nginx Date: Thu, 08 Oct 2009 21:46:44 GMT Content-Type: text/html; charset=iso-8859-2 Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Expires: Wed, 08 Oct 2008 21:50:03 GMT Location: http://poczta.onet.pl/login.html P3P: CP="ALL DSP COR IVD IVA PSD PSA TEL TAI CUS ADM CUR CON SAM OUR IND" HTTP/1.1 200 OK Server: nginx Date: Thu, 08 Oct 2009 21:46:44 GMT Content-Type: text/html; charset=iso-8859-2 Connection: keep-alive Pragma: no-cache Expires: Wed, 08 Oct 2008 21:50:03 GMT Vary: Accept-Encoding Cache-Control: max-age=90 Content-Length: 10053

i nic poza tym. Może ktoś się orientuje, co robię źle?
Go to the top of the page
+Quote Post
Dumdas
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

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


  1. echo $result

zamiast
  1. return $result


Ten post edytował Dumdas 9.10.2009, 14:23:58
Go to the top of the page
+Quote Post
kordian
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2009

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


Cytat(Dumdas @ 9.10.2009, 15:23:20 ) *
  1. echo $result

zamiast
  1. return $result


No, ale co to zmieni? Tylko tyle, że wcześniej będę wyświetlał $result
Go to the top of the page
+Quote Post
Dumdas
post
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

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


Wróć, niedopatrzenie. Return dałeś wew. funkcji, czyli dobrze.
---------------------------
  1. curl_setopt($curl, CURLOPT_HEADER, 1);

To powoduje wyświetlenie nagłówków.
Daj to na 0.
Potem curl_error() i napisz, co wyświetla.

BTW. Mi się normalnie wyświetla strona logowania do poczty.

Ten post edytował Dumdas 10.10.2009, 08:59:58
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





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

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


Jeżeli coś Ci nie idzie z curl zawsze warto użyć Live HTTP headers (dodatek do FF) i będziesz wiedział jakie nagłówki tam lecą.

Ten post edytował fifi209 10.10.2009, 10:32:23
Go to the top of the page
+Quote Post
kordian
post
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2009

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


Cytat(Dumdas @ 10.10.2009, 09:53:58 ) *
To powoduje wyświetlenie nagłówków.
Daj to na 0.
Potem curl_error() i napisz, co wyświetla.

BTW. Mi się normalnie wyświetla strona logowania do poczty.


O co mi chodzi. Chcę wysłać dane logowania metodą post, jak na stronie http://poczta.onet.pl/login.html i przejść do mojej poczty, czyli dokładnie tak, jak to robi się za pomocą przeglądarki. curl_error mi nic nie wyświetla, bo nie ma błędów. Po prostu zamiast wjeść do strony z moimi mailami widzę stronę logowania tak, jakbym w ogóle nie wysyłał postem danych do logowania.


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





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 8.10.2009
Skąd: Lubin

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


No to wyświetla Ci stronę logowania, czy
Cytat
HTTP/1.1 302 Found Server: nginx Date: Thu, 08 Oct 2009 21:46:44 GMT Content-Type: text/html; charset=iso-8859-2 Transfer-Encoding: chunked Connection: close Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Expires: Wed, 08 Oct 2008 21:50:10 GMT Location: folder.html P3P: CP="ALL DSP COR IVD IVA PSD PSA TEL TAI CUS ADM CUR CON SAM OUR IND" HTTP/1.1 302 Found Server: nginx Date: Thu, 08 Oct 2009 21:46:44 GMT Content-Type: text/html; charset=iso-8859-2 Transfer-Encoding: chunked Connection: keep-alive Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Expires: Wed, 08 Oct 2008 21:50:03 GMT Location: http://poczta.onet.pl/login.html P3P: CP="ALL DSP COR IVD IVA PSD PSA TEL TAI CUS ADM CUR CON SAM OUR IND" HTTP/1.1 200 OK Server: nginx Date: Thu, 08 Oct 2009 21:46:44 GMT Content-Type: text/html; charset=iso-8859-2 Connection: keep-alive Pragma: no-cache Expires: Wed, 08 Oct 2008 21:50:03 GMT Vary: Accept-Encoding Cache-Control: max-age=90 Content-Length: 10053
....
Jak stronę logowania, to ok. Możesz pewnie przejść już do swojej poczty drugim curl_init'em.
Go to the top of the page
+Quote Post
kordian
post
Post #8





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2009

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


Cytat(fifi209 @ 10.10.2009, 11:31:43 ) *
Jeżeli coś Ci nie idzie z curl zawsze warto użyć Live HTTP headers (dodatek do FF) i będziesz wiedział jakie nagłówki tam lecą.


Zainstalowałem, widzę, dzięki (IMG:style_emoticons/default/smile.gif) Tam leci więcej nagłówków niż pokazuje mi curl_setopt($curl, CURLOPT_HEADER, 1); Tak, jakby później było wywołanie innej strony. Muszę się temu przyjrzeć.
Go to the top of the page
+Quote Post
Kildyt
post
Post #9





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

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


Do zarządzania pocztą polecam imap.
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: 23.08.2025 - 16:13