Rumah > php教程 > PHP开发 > teks badan

php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)

高洛峰
Lepaskan: 2016-12-30 10:20:36
asal
2365 orang telah melayarinya

CURL技术说白了就是模拟浏览器的动作实现页面抓取或表单提交,通过此技术可以实现许多有去的功能。

<?php 
error_reporting(0); 
//邮箱用户名(不带@163.com后缀的) 
$user = &#39;papatata_test&#39;; 
//邮箱密码 
$pass = &#39;000000&#39;; 
//目标邮箱 
//$mail_addr = uenucom@163.com&#39;; 
//登陆 
$url = &#39;http://reg.163.com/logins.jsp?type=1&url=http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D-1&#39;; 
$ch = curl_init($url); 
//创建一个用于存放cookie信息的临时文件 
$cookie = tempnam(&#39;.&#39;,&#39;~&#39;); 
$referer_login = &#39;http://mail.163.com&#39;; 
//返回结果存放在变量中,而不是默认的直接输出 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_REFERER, $referer_login); 
$fields_post = array( 
&#39;username&#39;=> $user, 
&#39;password&#39;=> $pass, 
&#39;verifycookie&#39;=>1, 
&#39;style&#39;=>-1, 
&#39;product&#39;=> &#39;mail163&#39;, 
&#39;selType&#39;=>-1, 
&#39;secure&#39;=>&#39;on&#39; 
); 
$headers_login = array( 
&#39;User-Agent&#39; => &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0&#39;, 
&#39;Referer&#39; => &#39;http://www.163.com&#39; 
); 
$fields_string = &#39;&#39;; 
foreach($fields_post as $key => $value) 
{ 
$fields_string .= $key . &#39;=&#39; . $value . &#39;&&#39;; 
} 
$fields_string = rtrim($fields_string , &#39;&&#39;); 
curl_setopt($ch, CURLOPT_COOKIESESSION, true); 
//关闭连接时,将服务器端返回的cookie保存在以下文件中 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login); 
curl_setopt($ch, CURLOPT_POST, count($fields)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); 
$result= curl_exec($ch); 
curl_close($ch); 
//跳转 
$url=&#39;http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1&username=loki_wuxi&#39;; 
$ch = curl_init($url); 
$headers = array( 
&#39;User-Agent&#39; => &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0&#39; 
); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
//将之前保存的cookie信息,一起发送到服务器端 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); 
$result = curl_exec($ch); 
curl_close($ch); 
//取得sid 
preg_match(&#39;/sid=[^\"].*/&#39;, $result, $location); 
$sid = substr($location[0], 4, -1); 
//file_put_contents(&#39;./result.txt&#39;, $sid); 
//通讯录地址 
$url=&#39;http://g4a30.mail.163.com/jy3/address/addrlist.jsp?sid=&#39;.$sid.&#39;&gid=all&#39;; 
$ch = curl_init($url); 
$headers = array( 
&#39;User-Agent&#39; => &#39;Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0&#39; 
); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); 
$result = curl_exec($ch); 
curl_close($ch); 
//file_put_contents(&#39;./result.txt&#39;, $result); 
unlink($cookie); 
//开始抓取内容 
preg_match_all(&#39;/<td class="Ibx_Td_addrName"><a[^>]*>(.*?)<\/a><\/td><td class="Ibx_Td_addrEmail"><a[^>]*>(.*?)<\/a><\/td>/i&#39;, $result,$infos,PREG_SET_ORDER); 
//1:姓名2:邮箱 
print_r($infos); 
?>
Salin selepas log masuk

更多php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)相关文章请关注PHP中文网!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!