yahoocn邮箱登录脚本
最近发现线上登录Yahoo邮箱取地址薄的代码不能用了,调试发现是登录方式变换了,特通过HttpFox关注,重构代码如下:
define("USERAGENT","Mozilla/99.99 (compatible; MSIE 99.99; Windows XP 99.99)");define("COOKIEJAR",tempnam("/tmp/cookie/","cookie"));define("TIMEOUT",10);define("REFER", "http://mail.cn.yahoo.com");define("LOGIN_HOME", "http://mail.cn.yahoo.com");define("LOGINURL", "https://edit.bjs.yahoo.com/config/login?"); ........
/** *get login parameters *@return @mixed * */ public function getParam() { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, LOGIN_HOME); curl_setopt($ch, CURLOPT_USERAGENT,USERAGENT); curl_setopt($ch, CURLOPT_COOKIEJAR,COOKIEJAR); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec($ch); curl_close($ch);
preg_match_all("/name=\".challenge\" value=\"(.*?)\"/", $contents, $arr_challenge); $challenge = $arr_challenge[1][0]; preg_match_all("/name=.done value=\"(.*?)\"/", $contents, $arr_done); $done = $arr_done[1][0]; return array('challenge'=>$challenge, 'done'=>$done); }
/** * *@return boolean */ public function checkLogin($user,$password) { $params = $this->getParam(); $done = $params['done']; $challenge = $params['challenge']; $postfields = ".intl=cn&.done={$done}&.src=ym&.cnrid=ymhp_&challenge=${challenge}&login={$user}&passwd={$password}&submit=";
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$LOGINURL); curl_setopt($ch, CURLOPT_REFERER, REFER); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_USERAGENT,USERAGENT); curl_setopt($ch, CURLOPT_COOKIEJAR,COOKIEJAR); curl_setopt($ch,CURLOPT_TIMEOUT,TIMEOUT); curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
$r = curl_exec($ch); curl_close($ch);
if(strpos($r,"Caps Lock")) { return False; } else { return True; } }
yahoocn邮箱登录脚本相关推荐
- Python+Selenium自动化测试——126邮箱自动登录脚本(登录首页是二维码,切入账号密码输入框)
Python+Selenium自动化测试--126邮箱自动登录脚本 版权声明:本文为博主原创文章,未经允许不得转载.https://blog.csdn.net/qiao_wan/article/det ...
- 自己的网页嵌入外部邮箱登陆
类似上面的外部邮箱入口,我们在自己的页面里也可以添加,代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...
- hao123.com上的邮箱登录
<!------第一步:创建mail.js 文件------------> function G($){return document.getElementById($)} functio ...
- 邮箱的登陆界面,选择登陆到不同类型的邮箱 编程怎么实现
法一: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 02 <html> ...
- 【转载】自己的网页嵌入外部邮箱登陆
代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- appuim java 脚本_APP自动化测试神器之Appium-QQ登录脚本实战(java版)
在前文中,我们已经完成了如下知识点的铺垫: 一.QQ登录脚本测试用例 下面我们就来着手实现QQ轻聊版本应用的登录业务脚本的开发和运行.打开android模拟器上的qq应用 点击首页上的登录按钮 在登录 ...
- Lumen / Laravel 使用网易邮箱 SMTP 发送邮件
Laravel 是目前最流行的PHP框架,而Lumen 是 Laravel 的精简版,主要用于接口开发. Laravel 邮件发送服务基于 Symfony 组件 Swift Mailer. 本文记录了 ...
- Git 修改用户名和邮箱
在修改用户名和邮箱之前可以查看下现在的用户名和邮箱 git config --list 或者使用 git config user.name git config user.email 修改用户名和邮箱 ...
- 在SharePoint 2010使用OWA查看自己邮箱的内容
在SharePoint 2010使用OWA 背景: 利用 Outlook Web Access Web 部件,可以在 SharePoint 网站中显示从 Microsoft Exchange Serv ...
最新文章
- 为什么双层循环 冒泡排序_冒泡排序的双重循环理解
- 聊聊Oracle 11g的Snapshot Standby Database(上)
- 杨海坡:比特币分叉往事
- 为什么应该学习Kotlin
- iOS开发火了九年,这些错误你还在犯嘛?
- 精确控制div的高度
- miui微博html5版关闭,MIUI10迎来最后一波开发版推送 可关闭广告消息
- Java 13,最新最全新特性解读
- 用企业实例说明,制造业如何打破4大困境,解决数字化转型痛点
- 在机器学习中为什么只需要正的误差而不用负的误差
- 【Elasticsearch】一次 排查 iK 分词器 查询慢 分词多 内容大 的问题记录
- SCREEN MODULE 逻辑控制
- selenium控制浏览器操作
- 机器人操作系统ROS—深度相机+激光雷达实现vSLAM建图与导航
- Ontrack易恢复最新版EasyRecovery数据恢复软件功能
- win10计算机不分区,win10有必要分区吗
- 深入了解Spring IoC
- NCRE——网络工程师——操作系统
- android pie新功能,Android Pie:3个隐藏功能 | MOS86
- 踱步狼注释移除状态机算法2019.10
热门文章
- easyui表格数据折叠的使用经验
- C#Json怎么组合在一起_github上有哪些不错的C# .Net项目?
- 双系统:解决ubuntu18.04系统开机黑屏的问题(ubuntu20.04,ubuntu16.04适用)
- wangEditor介绍(入门级)
- JUC-ReentrantLock
- C#中HttpWebRequest的用法详解
- 自学Java需要多长时间?
- 如何创建一个react项目
- [转]artDialog说明文档
- php文本框的属性,在PHP中,为文本框设置“name”属性的方法是() 答案:为不同文本框表单元素分别设置不同的“name”属性值...