本文实例讲述了PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:

header("Content-Type: text/html; charset=UTF-8");

error_reporting(0);

/**

* 登陆

* $user 163用户名

* $pass 密码

**/

function login($user,$pass){

//登陆

$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';

$cookie = tempnam('./cache/','~');//创建一个用于存放cookie信息的临时文件

$fields_post = array(

'username' => $user,

'password' => $pass,

'verifycookie' => 1,

'style' => -1,

'product' => 'mail163',

'selType' => -1,

'secure' => 'on'

);

$fields_string = '';

foreach($fields_post as $key => $value){

$fields_string .= $key . '=' . $value . '&';

}

$fields_string = rtrim($fields_string , '&');

$headers = 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'

);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//返回结果存放在变量中,而不是默认的直接输出

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);//关闭连接时,将服务器端返回的cookie保存在以下文件中

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);

$result= curl_exec($ch);

curl_close($ch);

preg_match_all('/

(.*?) /i', $result,$infos,PREG_SET_ORDER);

if(!empty($infos['0']['1'])){

unlink($cookie);

exit('');

}else{

$G_ROOT = dirname(__FILE__);

file_put_contents($G_ROOT.'/cache/cookie', $cookie);

return $cookie;

}

}

/**

*

* $data['url'] 请求地址

* $data['data_post'] post数据

* $data['cookie']

*

**/

function curl($data){

$url = $data['url'];

$data_post= $data['data_post']? $data['data_post']: false;

$cookie = $data['cookie'];

$headers = 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'

);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //cookie文件 登陆之后

//POST 提交

if($data_post){

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data_post);

}

$result = curl_exec($ch);

curl_close($ch);

return $result;

}

希望本文所述对大家的php程序设计有所帮助。

/php/20106.htmlwww.phpzy.comtrue/php/20106.htmlTechArticlePHP模拟登陆163邮箱发邮件及获取通讯录列表的方法 这篇文章主要介绍了PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法,实例分析了php实用curl模拟登陆163邮箱的操作技巧,具有一定参考...

相关文章

暂无相关文章

php 模拟登录163邮箱,PHP模拟登陆163邮箱发邮件及获取通讯录列表的方相关推荐

  1. 163邮箱登录页面,如何快速登陆163邮箱?

    163邮箱登录页面在哪里,很久没有登录了,在哪里登陆163邮箱呢?TOM VIP邮箱分享几招长期记住登陆入口的方法,记得收藏哦! 163邮箱登录页面 网页地址比较难记,时间久了便会连同办公邮箱的固定格 ...

  2. JSoup模拟登录新版正方教务系统(内网-教务系统)获取信息过程详解

    新版正方教务系统登录界面: 目录 一.需求分析 二.模拟登录内网 三.模拟登录教务系统 四.爬取成绩和课表信息 参考文章 一.需求分析   需要访问教务系统,爬取出课表成绩等信息,并在自己所写的APP ...

  3. python模拟qq空间登录_模拟登录系列 | QQ空间模拟登录

    原文链接模拟登录系列 | QQ空间模拟登录​mp.weixin.qq.com 本系列所有代码均在这CharlesPikachu/DecryptLogin​github.com 原理简介 这里,我们简单 ...

  4. 163邮箱发送不出去服务器,我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下。...

    我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下 ...

  5. 使用telnet登陆smtp服务发邮件

    今天无意在一个 论坛 看到别人发帖用TELNET连接发信服务器可以伪造发信人地址,就仔细看了一下如何使用TELNET来发送邮件 我测试了一下163和QQ都成功发送了,但是伪造地址不行,这文章也不是重点 ...

  6. 投简历用什么邮箱最好?投简历怎么发邮件?

    作为一名上市公司HR主管,最近收到很多朋友留言,问我投简历用什么邮箱好,投简历怎么发邮件.本文为个人多年总结的一些建议,有助于大家提高面试机会,早日进入自己理想的公司! 在招聘旺季,每次打开邮箱都有几 ...

  7. java模拟登录新版正方_java 模拟登陆正方教务系统

    比较懒,主要说一下思路.. 1.首先正方教务系统的验证码当你不去向服务器申请的时候,可以直接无视它不需要去输入验证码.可以通过浏览器屏蔽学校教务系统的图片就可以直接输入账号密码回车进去.. 2.通过抓 ...

  8. python模拟登录详细教程_Python模拟登录requests.Session应用详解

    最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...

  9. scrapy mysql 模拟登录知乎_Scrapy 模拟登录新版知乎

    写这篇文章是因为知乎登录已经改版了,新版登录和老版登录区别还是挺大了,新版登录的 post 请求减少了一些字段的同时新增了一些字段,而且新增的字段如 signature 的值是通过一些算法得到的,比较 ...

  10. java 模拟登录58同城_Java 模拟58登录(二) 实现

    实现 流程 根据之前的分析可以得出58登录的大致流程如下发送Get请求(data?), 获取 token 发送Get请求(getcode?), 请求发送手机验证码, 同时获得一个tokencode 发 ...

最新文章

  1. latex中\begin{verbatim}以及\verb有什么用?
  2. 打印两个有序链表的公共部分
  3. ORACLE RAC 重新安装时清空ASM 磁盘命令
  4. (一)html5中的新增元素和废除元素
  5. 网络编程释疑之:TCP连接拔掉网线后会发生什么
  6. js动态增加行 删除行
  7. Dev C++ 实现Hello World
  8. 双语阅读:坚持你的方向
  9. 代码英雄:波澜壮阔的操作系统之战(音频+长文)
  10. word2vec 在 非 自然语言处理 (NLP) 领域的应用
  11. appium 环境配置
  12. java地址值是几进制_Java三种进制的数值常量操作代码
  13. 《ISO20000-12011 认证合格判定基础》(证书样例子+认证文档+录音下载)
  14. WIN10作为服务器操作系统可以吗,服务器可以装win10吗
  15. User Agreement(APP用户协议)
  16. [20190227]Windows系统评估工具winsat.txt
  17. 编写SQL语句,从Customers中检索所有的顾客名称(cust_name),并按从Z到A的顺序显示结果
  18. 基于开源软件构建高性能集群NAS系统
  19. MLY翻译 -- 4.Scale drivers machine learning progress
  20. 今天的打拼,是为了与众不同的明天!

热门文章

  1. 研发 | Unity资源商店里的免费资源,你一定要知道!
  2. Win11 安装 Linux 子系统
  3. ArcGIS之栅格地图配准
  4. 怎么把cad的图导入ps_如何将CAD图纸导入到Photoshop中编辑
  5. 传奇微端需要下载客户端吗?传奇微端架设教程,微端配置教程
  6. 全国各省市区域mysql_中国省市区数据表(MySQL版)
  7. Python鸡兔同笼
  8. 自然语言处理NLP + 知识图谱
  9. Linux用户和权限管理看了你就会用啦
  10. 一个完全的新人如何搭建自己的个人网站