Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cURL][PHP] Logowanie do gmaila
Forum PHP.pl > Forum > PHP
yozer2308
Potrzebuję się zalogować na gmaila.

Wykombinowałem coś takiego:

  1. function createPostString($aPostFields) {
  2. foreach ($aPostFields as $key => $value) {
  3. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  4. }
  5. return implode('&', $aPostFields);
  6. }
  7.  
  8. function gmail_loguj($pass='sd',$login='asd'){
  9.  
  10. $postFields['continue']='https://mail.google.com/mail/';
  11. $postFields['service']='mail';
  12. $postFields['rm']='false';
  13. $postFields['dsh']=3319892916451365966; //nie wiem co to ale chyba nie ma wpływu na logowanie
  14. $postFields['ltmpl']='default';
  15. $postFields['hl']='pl';
  16. $postFields['scc']=1;
  17. $postFields['ss']=1;
  18. $postFields['GALAX']='l5Q_XXKFgVw'; //nie wiem co to ale jest stałe
  19. $postFields['pstMsg']=1;
  20. $postFields['dnConn']='https://accounts.youtube.com';
  21. $postFields['Email']=$login;
  22. $postFields['Passwd']=$pass;
  23. $postFields['signIn']='Zaloguj się';
  24. $postFields['rmShown']=1;
  25. $postFields['checkConnection']='';
  26. $postFields['timeStmp']='';
  27. $postFields['secTok']='';
  28.  
  29. $header=array('Host: accounts.google.com',
  30. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0',
  31. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  32. 'Accept-Language: pl,en-us;q=0.7,en;q=0.3',
  33. 'Accept-Encoding: text',
  34. 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7',
  35. 'Connection: keep-alive');
  36.  
  37. $ch = curl_init();
  38.  
  39. curl_setopt($ch, CURLOPT_URL, 'https://accounts.google.com/ServiceLoginAuth');
  40.  
  41. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
  42. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
  43.  
  44. curl_setopt($ch, CURLOPT_POST, 1);
  45. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  46.  
  47. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  48.  
  49. curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
  50. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
  51.  
  52. curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
  53. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  54.  
  55. $page=curl_exec($ch);
  56. curl_close($ch);
  57.  
  58. echo $page;
  59. }
  60.  
  61. gmail_loguj();


Ale niestety coś nie chce działać.

@edit
Problem rowiązany
wookieb
A wiesz, że google ma coś takiego jak API? To gmaila jest... http://code.google.com/apis/gmail/oauth/
yozer2308
Nie domyśliłem sie... ^ ^.

Ale i tak potrzebuję się tam zalogować, i nie do końca chodzi o maile smile.gif
wNogachSpisz
Przestrzegam przed POPEm na Gmailu.
Można pobrać tylko 100 najtarszych wiadomości, UIDL nie zwraca więcej.
Nastomiast po wykonaniu polecenia RETR wiadomosci znika, nie da się jej wiecej pobrać.
Można to obejść wykonująć zamiast tego polecenie TOP n, gdzie n to jakaś duża liczba, np milion.

Osobliwe...

Nie wiem jak sprawa ma się z IMAP'em.
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.