Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [curl] Logowanie Gmail
Forum PHP.pl > Forum > PHP
user123
Witam,

czy wiecie może na czym polega błąd w poniższym kodzie logowanie do Gmail'a? Wszystko wydawaloby się w porządku ale po uruchomieniu pojawia sie strona gmail'a tylko z wpisanym loginem.

  1. <?php
  2. $cookie = 'cookie.txt';
  3. $loginUrl = 'https://www.google.com/accounts/';
  4. $login = '*****';
  5. $password = '******';
  6. $useragent = 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3';
  7.  
  8. $ch = curl_init( $loginUrl );
  9. curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookie );
  10. curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
  11. curl_setopt( $ch, CURLOPT_COOKIE, $cookie);
  12. curl_setopt( $ch, CURLOPT_USERAGENT, $useragent );
  13. curl_setopt( $ch, CURLOPT_REFERER, 'http://mail.google.com/mail/' );
  14. curl_setopt( $ch, CURLOPT_POST, 1 );
  15. curl_setopt( $ch, CURLOPT_POSTFIELDS, 'Email='.$login.'&Passwd='.$password );
  16. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
  17. $page = curl_exec($ch);
  18. curl_close($ch);
  19. echo $page;
  20. ?>


proszę o pomoc
Louner
Gmail korzysta obficie z ajaxa; być może nie wszystko działa poprawnie, kiedy jest otwierane na innym serwerze.
erix
A nie możesz korzystać z IMAP/POP3 do obsługi poczty...?
user123
chciałem po prostu zalogować się na pocztę za pomoca Curl, a więc proszę o pomoc przy poprawie kodu i naprawdę dziekuję za alternatywy dla mojego sposobu rozwiązania:)
Savage.Mephisto
Spróbuj w ten sposób:

  1. <?php
  2. $cookie = 'cookie.txt';
  3. $loginUrl = 'https://gmail.google.com/gmail/feed/atom';
  4. $login = '*****';
  5. $password = '******';
  6.  
  7. $ch = curl_init($loginUrl);
  8.  
  9. $headers = array(
  10.    "Host: gmail.google.com",
  11.    "Authorization: Basic ".base64_encode($login.':'.$password),
  12.    "User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3",
  13.    "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
  14.    "Accept-Language: pl;q=0.5",
  15.    "Accept-Encoding: text",
  16.    "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7",
  17.    "Date: ".date(DATE_RFC822)
  18. );
  19.  
  20. curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  21. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie );
  22. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie );
  23. curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  24. curl_setopt($ch, CURLOPT_COOKIESESSION, true);
  25. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  26. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  27. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  28. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  29. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
  30. curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
  31.  
  32. $page = curl_exec($ch);
  33.  
  34. echo $page;
  35.  
  36. curl_close($ch);
  37. ?>
user123
a dlaczego adres to ma być niby: https://gmail.google.com/gmail/feed/atom

po wywolaniu tego skryptu otrzymuje:

"Moved Permanently
The document has moved here."
Savage.Mephisto
A po zmianie adresu na: https://www.google.com/accounts/ skrypt, który Ci podałem uruchamia się?
user123
nadal otrzymuję:

"Moved Permanently
The document has moved here."

jakiś pomysł?smile.gif
Savage.Mephisto
U mnie ten skrypt z wywołaniem adresu: https://gmail.google.com/gmail/feed/atom śmiga bez żadnych problemów. Spróbuj jeszcze użyć adresu: https://gmail.google.com/gmail/feed/atom/ - czasem nie zamknięcie url'a znakiem / powoduje problemy.
BTW, pokaż kod znajdujący się w pliku cookie.txt.
user123
@Savage.Mephisto niestety nic to nie dało;/ w pliku cookie.txt nie mam żadnej informacji, a po wywołaniu skryptu otrzymuję:

"Moved Permanently
The document has moved here."



to jak pomożecie? walczę z tym gmailem od paru dni i jakoś mi nie wychodzi;/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.