亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php利用CURL函數登入163郵箱并獲取自己的通訊錄

2024-05-04 21:47:47
字體:
來源:轉載
供稿:網友

我們使用phpmailer登錄郵件發郵件也是使用了curl原理來實現模仿用戶(www.49028c.com)發郵件了,今天看了兩個利用CURL函數登入163郵箱并獲取自己的通訊錄的例子.

學習了一些CURL的基礎知識并做了這個示例,關于CURL的知識可以從php的官網上查看,點擊查看.

示例代碼調試方式:把$userName和$password換成自己163郵箱的用戶名和密碼即可.

注意:用戶名和密碼一定要正確,否則報錯,沒有做容錯處理,示例代碼如下:

  1. <?php 
  2. //==================賬號信息================== 
  3. //用戶名 
  4. $userName = 'xxxxxxxx'
  5. //密碼 
  6. $password = 'xxxxxxxx'
  7. //郵箱 
  8. $email = $userName . '@163.com'
  9. //==================登錄================== 
  10. //登錄地址(登錄地址并不是form表單設置的地址,通過js修改了form的action屬性,需要查看登錄頁面源碼才能發現) 
  11. $loginUrl = "https://ssl.mail.163.com/entry/coremail/fcg/ntesdoor2?df=mail163_letter&from=web&funcid=loginone&iframe=1&language=-1&passtype=1&product=mail163&net=n&style=-1&race=-2_56_-2_hz&uid={$email}"
  12. //登錄時發送的post數據(查看form表單,注意有隱藏域) 
  13. $postArray = array
  14.     "url2" => "http://mail.163.com/errorpage/error163.htm"
  15.     "savelogin" => 0,  "username" => trim($userName), "password" => $password
  16. ); 
  17. $postString = ''
  18. foreach($postArray as $key => $value){ 
  19.     $postString .= "{$key}={$value}&"
  20. $postString = trim($postString'&'); 
  21. //初始化CURL對象 
  22. $curl = curl_init(); 
  23. //設置請求地址 
  24. curl_setopt($curl, CURLOPT_URL, $loginUrl); 
  25. //禁用后CURL將終止從服務端進行驗證 
  26. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
  27. //啟用時將獲取的信息以文件流的形式返回,而不是直接輸出 
  28. curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
  29. //啟用時會將頭文件的信息作為數據流輸出 
  30. curl_setopt($curl, CURLOPT_HEADER, TRUE); 
  31. //設置POST參數 
  32. curl_setopt($curl, CURLOPT_POST, TRUE); 
  33. curl_setopt($curl, CURLOPT_POSTFIELDS, $postString); 
  34. //執行給定的CURL會話 
  35. //成功時返回 TRUE,失敗時返回 FALSE 
  36. //然而,如果 CURLOPT_RETURNTRANSFER選項被設置,函數執行成功時會返回執行的結果,失敗時返回 FALSE 
  37. $html = curl_exec($curl); 
  38. //把獲取到的數據寫入文件中以便查看 
  39. //file_put_contents('temp1.txt', $html); 
  40. //分割頭文件和內容 
  41. list($head$content) = explode("\r\n\r\n"$html, 2); 
  42. //把獲取到的數據寫入文件中以便查看 
  43. //file_put_contents('temp2.txt', $head); 
  44. //file_put_contents('temp3.txt', $content); 
  45. $head = explode("\r\n"$head); 
  46. //獲取cookie信息 
  47. $cookieString = ''
  48. foreach ($head as $value){ 
  49.     if(stripos($value"Set-Cookie: ") !== false){ 
  50.         $cookieString .= str_replace("Set-Cookie: """$value); 
  51.     } 
  52. //從content里分析出sid值(讀取通訊錄信息的參數) 
  53. $startString = 'top.location.href = "'
  54. $endString = '";</script>'
  55. $start = strpos($content$startString); 
  56. $end = strpos($content$endString); 
  57. $tempUrl = substr($content$start + strlen($startString), $end - $start - strlen($startString)); 
  58. $tempUrlVals = parse_url($tempUrl); 
  59. parse_str($tempUrlVals['query'], $queryVals); 
  60. $sid = $queryVals['sid']; 
  61. //==================讀取郵箱================== 
  62. //讀取郵箱地址 
  63. $readUrl = "http://twebmail.mail.163.com/contacts/call.do?uid={$email}&sid={$sid}&from=webmail&cmd=newapi.getContacts&vcardver=3.0&ctype=all&attachinfos=yellowpage"
  64. //設置請求地址 
  65. curl_setopt($curl, CURLOPT_URL, $readUrl); 
  66. //設置POST參數 
  67. curl_setopt($curl, CURLOPT_POST, TRUE); 
  68. curl_setopt($curl, CURLOPT_POSTFIELDS, 'order=[{"field":"N","desc":"false"}]'); 
  69. //注意這里要設置從登錄操作中獲取的cookie 
  70. curl_setopt($curl, CURLOPT_COOKIE, $cookieString); 
  71. //禁用頭文件輸出 
  72. curl_setopt($curl, CURLOPT_HEADER, FALSE); 
  73. //執行給定的CURL會話 
  74. //成功時返回 TRUE,失敗時返回 FALSE 
  75. //然而,如果 CURLOPT_RETURNTRANSFER選項被設置,函數執行成功時會返回執行的結果,失敗時返回 FALSE 
  76. $content = curl_exec($curl); 
  77. //把獲取到的數據寫入文件中以便查看 
  78. //file_put_contents('temp4.txt', $content); 
  79. (www.49028c.com)//關閉一個CURL會話,并釋放資源 
  80. curl_close($curl); 
  81. echo '<pre>'
  82. print_r(json_decode($content, true)); 
  83. echo '</pre>'

例子二,這個更高級一些可以輸入信息,代碼如下:

  1. <html> 
  2. <head> 
  3. <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> 
  4. <title>登陸163郵箱</title> 
  5. </head> 
  6. <body> 
  7. <form id="login" action="mail.php" method="POST"
  8. <label for="username">用戶名:</label><input id="username" name="username" type="text" /> 
  9. <label for="password">密碼:</label><input id="password" name="password" type="password" /> 
  10. <input type="submit" value="取得通訊錄列表" /> 
  11. </form> 
  12. </body> 
  13. </html> 

mail.php,代碼如下:

  1. <?php 
  2.     define("COOKIEJAR",ini_get"upload_tmp_dir" ).DIRECTORY_SEPARATOR."cookie.txt"); 
  3.      
  4.     if( !isset($_POST['username']) || !isset($_POST['username']) ){ 
  5.         echo 'ERROR QUEST'
  6.         exit(); 
  7.     } 
  8.      
  9.     $username = $_POST['username']; 
  10.     $pos = strrpos($username,'@'); 
  11.     if($pos === false){ 
  12.         $username .= "@163.com"
  13.     } 
  14.     $password = $_POST['password']; 
  15.      
  16.     //登陸163郵箱,獲得登陸后的cookie 
  17.     $options = array
  18.       CURLOPT_URL => "https://reg.163.com/logins.jsp"
  19.       CURLOPT_SSL_VERIFYPEER => false, 
  20.       CURLOPT_POST => 1, 
  21.       CURLOPT_POSTFIELDS => "username=".$username."&password=".$password
  22.       CURLOPT_COOKIEJAR => COOKIEJAR, 
  23.     ); 
  24.     curl_quest($options); 
  25.      
  26.     //利用上一步獲得的cookie進一步取得cookie 
  27.     $options2 = array
  28.       CURLOPT_URL => "http://fm163.163.com/coremail/fcg/ntesdoor2?verifycookie=1&lightweight=1"
  29.       CURLOPT_COOKIEFILE => COOKIEJAR, 
  30.       CURLOPT_COOKIEJAR => COOKIEJAR, 
  31.     ); 
  32.     curl_quest($options2); 
  33.      
  34.     //分析cookie文件,取得coremail. 
  35.     $cookiefile = file_get_contents(COOKIEJAR); 
  36.     preg_match('|Coremail.*?%(\S*)|',$cookiefile,$sid); 
  37.      
  38.     //發送獲得通訊錄xml請求. 
  39.     $postStr3 = '<?xml version="1.0"?><object><array name="items"><object><string name="func">pab:searchContacts</string 
  40. ><object name="var"><array name="order"><object><string name="field">FN</string><boolean name="ignoreCase" 
  41. >true</boolean></object></array></object></object><object><string name="func">user:getSignatures</string 
  42. ></object><object><string name="func">pab:getAllGroups</string></object></array></object>'; 
  43.     $options3 = array
  44.        CURLOPT_URL => 'http://eg1a120.mail.163.com/a/s?sid='.$sid[1].'&func=global:sequential'
  45.        CURLOPT_HTTPHEADER => array('Content-Type: application/xml'), 
  46.       CURLOPT_POST => 1, 
  47.       CURLOPT_COOKIEFILE => COOKIEJAR, 
  48.       CURLOPT_POSTFIELDS => $postStr3
  49.       CURLOPT_REFERER => 'http://eg1a120.mail.163.com/a/f/js3/0811050934/index_v12.htm'
  50.     ); 
  51.     $mailsxml = curl_quest($options3,true); 
  52.      
  53.     //輸出獲得的通訊錄xml 
  54.     header("Content-Type: application/xml"); 
  55.     echo $mailsxml
  56.      
  57.     function curl_quest($ops,$return = false){ 
  58.         $ch = curl_init();  
  59.        curl_setopt_array($ch,$ops); 
  60.         ob_start( ); 
  61.         curl_exec($ch); 
  62.         if($return){ 
  63.             $content=ob_get_contents(); 
  64.         } 
  65.         curl_close($ch); 
  66.         ob_end_clean(); 
  67.         if($return){ 
  68.             return $content
  69.         } 
  70.     } 
  71.  
  72. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久久下一站| 亚洲最大av在线| 日韩美女免费线视频| 国产精品亚洲网站| 98视频在线噜噜噜国产| 69久久夜色精品国产69乱青草| 国产日韩精品视频| 2023亚洲男人天堂| 成人欧美一区二区三区在线湿哒哒| 成人福利视频在线观看| 福利一区视频在线观看| 亚洲电影在线观看| 日韩av大片在线| 日韩精品久久久久| 色噜噜久久综合伊人一本| 超碰91人人草人人干| 国产精品高清免费在线观看| 亚洲欧美综合图区| 欧美性猛交xxxx乱大交| 亚洲精品v欧美精品v日韩精品| 国产视频在线一区二区| 国产91精品不卡视频| 日本精品一区二区三区在线播放视频| 亚洲精品av在线播放| 国产精品自产拍在线观看| 久久精品国产99国产精品澳门| 国产一区香蕉久久| 欧美日韩一区免费| 亚洲女人初尝黑人巨大| 日韩精品免费在线| 欧美极品xxxx| 欧美日韩福利视频| 欧美成人免费在线观看| 久久免费视频在线| 久久久成人精品| 国产在线999| 久久成人这里只有精品| 欧美美女操人视频| 久久成人18免费网站| 中文字幕亚洲色图| 欧美在线视频a| 国产精品成人品| 欧美一级淫片丝袜脚交| 日韩高清a**址| 国产精品一区二区久久国产| 欧美激情在线狂野欧美精品| 欧美性极品少妇精品网站| 日韩中文有码在线视频| 91网站免费看| 国产成人精品免高潮费视频| 国产欧美 在线欧美| 97不卡在线视频| 亚洲一区二区三区四区视频| 国产69精品久久久| 全色精品综合影院| 九色精品免费永久在线| 中文国产亚洲喷潮| 亚洲国产毛片完整版| 国模gogo一区二区大胆私拍| 欧美二区乱c黑人| 欧美激情精品久久久| 欧美成人精品一区| 久色乳综合思思在线视频| 国产91在线高潮白浆在线观看| 成人在线精品视频| 日韩经典第一页| 国产九九精品视频| 亚洲欧美日韩成人| 久久免费视频观看| 亚洲毛片在线免费观看| 亚洲国产精品人人爽夜夜爽| 日韩色av导航| 欧美日韩亚洲激情| 91沈先生在线观看| 亚洲自拍偷拍福利| 51午夜精品视频| 久久这里只有精品99| 亚洲男人天堂手机在线| 91精品国产91久久久久久| 91超碰中文字幕久久精品| 视频在线观看一区二区| 欧美亚洲成人精品| 国产精品成人一区二区三区吃奶| 色yeye香蕉凹凸一区二区av| 97在线观看视频| 亚洲人精品午夜在线观看| 中文字幕在线日韩| 日韩免费不卡av| 日韩欧美在线播放| www.日韩视频| 欧美日韩福利电影| 亚洲国产美女精品久久久久∴| 亚洲精品aⅴ中文字幕乱码| 国产美女91呻吟求| 国产日韩欧美视频| 国产精品av在线播放| 91免费看片在线| 亚洲欧美中文日韩v在线观看| 国产亚洲综合久久| 日韩国产欧美精品在线| 一区二区三区在线播放欧美| 精品免费在线视频| 国产一区二区三区视频| 国产精品久久久久久久久久尿| 国产精品日韩在线| 欧美成年人视频| 狠狠久久亚洲欧美专区| 欧美激情视频一区二区| 欧美激情综合色| 国产精品偷伦视频免费观看国产| 欧美色xxxx| 久久亚洲精品国产亚洲老地址| 国产精品久久久精品| 色综合视频网站| 日本精品视频在线| 欧美福利视频在线| 亚洲人成在线播放| 亚洲图片制服诱惑| 亚洲欧美综合另类中字| 57pao成人国产永久免费| 91人人爽人人爽人人精88v| 国产精品视频成人| 91国自产精品中文字幕亚洲| 成人在线激情视频| 欧洲永久精品大片ww免费漫画| 国产精品第2页| 欧美日韩另类视频| 久久99久久亚洲国产| 成人高清视频观看www| 亚洲区中文字幕| 色婷婷综合久久久久中文字幕1| 日韩视频免费在线观看| 日韩电影免费观看中文字幕| 欧美在线亚洲一区| 久久久久久69| 日韩精品免费视频| 中文字幕一区二区三区电影| 欧美激情一级欧美精品| 国产精品久久久久久久一区探花| 日韩av成人在线| 国产亚洲视频中文字幕视频| 亚洲国产欧美久久| 国产99久久精品一区二区 夜夜躁日日躁| 精品亚洲男同gayvideo网站| www国产精品com| 九九精品视频在线观看| 精品久久久久久电影| 国产成人综合亚洲| 91欧美激情另类亚洲| 久久久久国产精品www| 久久久久国产一区二区三区| 成人在线播放av| 热99在线视频| 91久久久久久| 91探花福利精品国产自产在线| 亚洲欧美国产精品| 福利一区福利二区微拍刺激| 久久视频免费在线播放| 成人免费看片视频| 久久久久久久久久国产精品| 国产精品青草久久久久福利99| 日本中文字幕成人| 国产亚洲a∨片在线观看| 88国产精品欧美一区二区三区|