phpcurl登录163邮箱并抓取邮箱好友列表的代码(经测试)_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpcurl登录163邮箱并抓取邮箱好友列表的代码(经测试)_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3469字,纯文字阅读大概需要5分钟。
内容图文
![phpcurl登录163邮箱并抓取邮箱好友列表的代码(经测试)_PHP教程](/upload/InfoBanner/zyjiaocheng/169/204d186fd212439f8b3492ae02ad2b4c.jpg)
代码如下:
输出
error_reporting(0);
//邮箱用户名(不带@163.com后缀的)
$user = 'papatata_test';
//邮箱密码
$pass = '000000';
//目标邮箱
//$mail_addr = uenucom@163.com';
//登陆
$url = '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';
$ch = curl_init($url);
//创建一个用于存放cookie信息的临时文件
$cookie = tempnam('.','~');
$referer_login = 'http://mail.163.com';
//返回结果存放在变量中,而不是默认的直接
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(
'username'=> $user,
'password'=> $pass,
'verifycookie'=>1,
'style'=>-1,
'product'=> 'mail163',
'selType'=>-1,
'secure'=>'on'
);
$headers_login = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
'Referer' => 'http://www.163.com'
);
$fields_string = '';
foreach($fields_post as $key => $value)
{
$fields_string .= $key . '=' . $value . '&';
}
$fields_string = rtrim($fields_string , '&');
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='http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1&username=loki_wuxi';
$ch = curl_init($url);
$headers = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0'
);
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('/sid=[^\"].*/', $result, $location);
$sid = substr($location[0], 4, -1);
//file_put_contents('./result.txt', $sid);
//通讯录地址
$url='http://g4a30.mail.163.com/jy3/address/addrlist.jsp?sid='.$sid.'&gid=all';
$ch = curl_init($url);
$headers = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0'
);
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('./result.txt', $result);
unlink($cookie);
//开始抓取内容
preg_match_all('/
//1:姓名2:邮箱
print_r($infos);
?>
http://www.bkjia.com/PHPjc/323203.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/323203.htmlTechArticleCURL技术说白了就是模拟浏览器的动作实现页面抓取或表单提交,通过此技术可以实现许多有去的功能。 代码如下:?php error_report...
内容总结
以上是互联网集市为您收集整理的phpcurl登录163邮箱并抓取邮箱好友列表的代码(经测试)_PHP教程全部内容,希望文章能够帮你解决phpcurl登录163邮箱并抓取邮箱好友列表的代码(经测试)_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
【phpcurl登录163邮箱并抓取邮箱好友列表的代码(经测试)_PHP教程】教程文章相关的互联网学习教程文章
PHP curl_setopt函数用法介绍【代码】
[导读] curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦。bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值伪造登录主站wap登录和discuz论坛wap登录,两边的用户数据资料在同一个表中进行调用 //参数数组$data = array(‘username’ => ‘username’,‘pa...
php使用cUrl方法 get、post请求【代码】
php使用curl方法,请确保已经开启curl扩展。传送门:http://www.cnblogs.com/wgq123/p/7450667.html/**Curl请求get方法 *@$url String 要请求的url地址 *@$dara Array 要传递的参数 *@$timeout int 超时时间 *@return json /function curlGetRequest($url=‘‘, $data=array(), $timeout=5){if($url == ‘‘ || $timeout <=0){returnfalse;}$param = ‘‘;if(!empty($data)){foreach($dataas$k=>$v){$param .= $k ...
Linux 编译安装 php 扩展包 curl
php源码目录:/root/phpphp编译目录:/usr/local/webserver/php/curl源码目录:/root/curl1.curl,主要用于发送http请求,是php的一个扩展包。2.安装过程:(1)curl下载:http://curl.haxx.se/download.html(2)具体安装过程:解压:tar -zxvf curl.tar.gzcd /(php源码目录,不是php编译目录)/ext/curl运行phpize: /(php编译目录)/bin/phpize./configure --with-php-config=/(php编译目录)/bin/php-config --with-curl=...
PHP CURL获取cookies模拟登录的方法【图】
要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了。利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据。因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了。这其实和论坛的模拟登录一个道理,先POST...
php中通过curl模拟登陆discuz论坛的实现代码
libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。 php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码。 复制代码 代码如下:<?php $discuz_url = ‘http://127.0.0.1/discuz/‘;//论坛地址 $login_url = $discuz_url .‘logging.php?action=login‘;//登录页地址 $post_fi...
PHP curl 简单使用【代码】
<?php//初始化变量$cookie_file = tempnam(‘./‘,‘cookie‘);$ip1 = mt_rand(1,127) . ‘.‘ . mt_rand(1,127) . ‘.‘ . mt_rand(1,127) . ‘.‘ . mt_rand(1,127);$header = array( ‘CLIENT-IP:‘ . $ip1, ‘X-FORWARDED-FOR:‘ . $ip1,);$login_url = ‘http://www.kangyq.com/do.php?ac=Christopher&&ref‘;$refer = ‘space.php?do=home‘;$loginsubmit = ‘登陆‘;$post_fields = ‘user...
curl学习笔记(以php为例)【代码】
一、demo,抓取百度页码代码: $url = ‘https://www.baidu.com/‘;$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);curl_setopt($ch, CURLOPT_HEADER, FALSE);curl_setopt($ch, CURLOPT_TIMEOUT, 120);$html = curl_exec($ch);curl_close($ch);var_dump($html);二、curl函数介绍:1、curl_init($url):初始化curl回话,返回资源类型2、curl_setopt($c...
php curl【代码】
curl 模拟post提交 1$url = ‘http://localhost/url.php‘;2 3$arr = [4 ‘username‘ => ‘Tom‘,5 ‘age‘ => 20,6 ‘sex‘ => ‘男‘7];8$ch = curl_init();910 curl_setopt($ch, CURLOPT_URL, $url); 11 curl_setopt($ch, CURLOPT_HEADER, 0); 12 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 13 curl_setopt($ch, CURLOPT_POST, 1); 14 curl_setopt($ch, CURLOPT_POSTFIELDS, $arr); 1516$data = curl_exec($ch...
[转]考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传【代码】
FROM : https://segmentfault.com/a/1190000000725185最近做的一个需求,要通过PHP调用cURL,以multipart/form-data格式上传文件。踩坑若干,够一篇文章了。重要警告没事不要读PHP的官方中文文档!版本跟不上坑死你!不同版本PHP之间cURL的区别PHP的cURL支持通过给CURL_POSTFIELDS传递关联数组(而不是字符串)来生成multipart/form-data的POST请求。传统上,PHP的cURL支持通过在数组数据中,使用“@+文件全路径”的语法附加文件,...
PHP使用CURL设置header头传参以及设置Content-Type: application/json类型的后台数据接收
CURL函数 public function CurlRequest($url,$data=null,$header=null){ //初始化浏览器 $ch = curl_init(); //设置浏览器,把参数url传到浏览器的设置当中 curl_setopt($ch, CURLOPT_URL, $url); //以字符串形式返回到浏览器当中 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //禁止https协议验证域名,0就是禁止验证域名且兼容php5.6 ...
PHP实现curl和snoopy类模拟登陆方法【代码】
Snoopy.class.php下载方法/步骤 第一种:使用snoopy类实现模拟登陆1.在网上下载一个Snoopy.class.php的文件 2.代码实现:<?phpset_time_limit(0);require "Snoopy.class.php";$snoopy=new Snoopy();$snoopy->referer=‘你要模拟登陆的域名‘;//例如:http://www.baidu.com/$snoopy->agent="定义浏览器根";$post[‘username‘] =‘登陆账号‘;//根据你要模拟登陆的网站具体的传值 名称来定$post[‘password‘] =‘登陆密码‘;//根据...
php运行报Call to undefined function curl_init()的解决办法
很早之前就出现过这个问题,网上百度了下,答案千篇一律,都是说:1、在php.ini中开启curl扩展2、将php目录下的libeay32.dll、ssleay32.dll、php5ts.dll拷贝到c:\windows\system32里面(还有一种方法是说在httpd.conf中加上动态链接库,如:LoadFile d:/php/libeay32.dll 和 LoadFile d:/php/ssleay32.dll,但我试过了,同样不起作用)3、重启apache,OK!不知道这些人是不是真的试过而且成功了,就把这些所谓的解决方案往网上分享...
nginx+php下curl请求https报502错【代码】
在做公司项目的时候使用了第三方的API接口,且接口采用的是https请求,在本地的wamp集成环境开发测试正常,放到服务器上结果报错 nginx 502 bad gateway。在论坛中爬楼了几天今天终于找到原因,php版本问题;公司项目线上环境:服务器安装了wdcp其中nginx是1.4.2版本 php是5.2.17版本部署项目上去后,怎么运行都报502错,刚开始怀疑是nginx配置问题,百度了许久说请求https需要ssl于是配置了nginx的ssl后问题依旧,无奈只好继续搜索...
在PHP中使用CURL实现GET和POST请求的方法
1.CURL介绍CURL是一个利用URL语法规定来传输文件和数据的工具.支持很多协议,如HTTP、FTP、TELNET等。幸运的是PHP也支持CURL库。本文将介绍curl的一些高级特性,以及在PHP中如何运用它。2.基本结构在学习更为复杂的功能之前,先来看一下在PHP中建立CURL请求的基本步骤:(1)初始化 curl_init()(2)设置变量 curl_setopt() //最为重要,一切玄妙均在此。有一长串curl参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完...
PHP socket网络编程之使用curl
PHPsocket 网络编程之使用cURLcURl代表客户端URL,是一种专门处理URL的命令行工具。本文介绍cURl打开网页并向其提交数据。【示例】:cURL库被PHP用于向页面传递数据<?PHP//创建cURL事务$url = 'HTTP://localhost/service.php';$curl = curl_init($url);//如果发生错误,直接运行失败curl_setopt($curl,CURLOPT_FAILONERROR,1);//支持重定向curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);//设置是否将处理结果存入一个变量的选项cur...