PHP程序登录163邮箱并取得当前用户的通讯录列表

第一步,模拟登录界面,向https://reg.163.com/logins.jsp发送请求

注意curl函数一定要设置cookie的目录,以便日后读取.

可以这样设置curl_setopt( $ch, CURLOPT_COOKIEJAR, COOKIEJAR );

COOKIEJAR为自己定义的保存COOKIE的常量, 注意这个文件一定要可写

第二步, 获取cookie,向http://fm163.163.com/coremail/fcg/ntesdoor2?verifycookie=1&lightweight=1发送请求

  curl_setopt( $ch, CURLOPT_COOKIEFILE, COOKIEJAR );

  curl_setopt( $ch, CURLOPT_COOKIEJAR, COOKIEJAR );

这两块设置很关键

第三步,读取cookie

文件读写,从 COOKIEJAR 中读取.

获取cookieid.

第四步,发送请求http://g1a126.mail.163.com/a/s?sid=%22.$cookieid.%22&func=global:sequential

curl_setopt( $ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/xml" ) );

$str = " <?xml version=\"1.0\"?> <object> <arrayname=\"items\"> <object> <stringname=\"func\">pab:searchContacts </string><objectname=\"var\"> <array name=\"order\"> <object> <stringname=\"field\">FN </string> <booleanname=\"ignoreCase\">true </boolean> </object></array> </object> </object> <object><string name=\"func\">user:getSignatures </string></object> <object> <stringname=\"func\">pab:getAllGroups </string> </object></array> </object>";