热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP飞信接收短信类-PHP源码

PHP飞信接收短信类
代码

'',
		CURLOPT_POST=>false,
		CURLOPT_RETURNTRANSFER=>true,
		CURLOPT_REFERER=>'http://f.10086.cn/im5/login/login.action',

	 );
	function __construct ($tel,$pwd){
		$this->tel=$tel;
		$this->pwd=$pwd;
	}
	function COOKIElogin(){
		$this->COOKIE=$this->readCOOKIE();
	}
	function login($tel=null,$pwd=null){
		if(empty($tel)||empty($pwd)){
			$tel=$this->tel;
			$pwd=$this->pwd;
		}
		$option = array(
			CURLOPT_URL=> 'http://f.10086.cn/im5/',
			CURLOPT_REFERER=>'http://f.10086.cn/wap2.jsp',
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_HEADER=>true,
			CURLOPT_POST=>false,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17'
		);
		$result=$this->exec($option);
		preg_match_all('/Location:\s{1}(.*)\n/', $result, $matches);
		@$url=$matches[1][0];
		if(null==$url) $url='http://f.10086.cn/im5/login/login.action';
		preg_match_all('/Set-COOKIE:\s(UUID.*;)\spath.*\nSet-COOKIE:\s(JSESSIONID.*;)\spath.*\n/',$result,$matches);//print_r($matches);
		$this->COOKIE=$matches[1][0].' '.$matches[2][0].' path=/; HttpOnly; ';
		$post_data ='m='.$tel.'&pass='.$pwd.'&captchaCode=&checkCodeKey=null'; 
		$option = array(
			CURLOPT_URL=> 'http://f.10086.cn/im5/login/loginHtml5.action?t='.time().'780', 
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_REFERER=>$url,//'http://f.10086.cn/im5/login/login.action',
			CURLOPT_POST=>true,
			CURLOPT_POSTFIELDS=>$post_data,
			CURLOPT_HEADER=>true,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
			CURLOPT_COOKIESESSION=>true,
			CURLOPT_COOKIE=>$this->COOKIE,
		);
		$result=$this->exec($option);  //echo $result;
		preg_match_all('/({.*})/', $result, $data); //print_r($data);
		preg_match_all('/Set-COOKIE:\s(.*)\sHttpOnly\s\n/', $result, $matches);
		$this->COOKIE.='HttpOnly';
		foreach ($matches[1] as  $value) {
			$this->COOKIE.='; '.$value;
		}
		//echo $this->COOKIE;
		$user_info=json_decode($data[1][0]);
		//print_r($user_info);
		$this->saveCOOKIE($this->COOKIE);//echo $this->COOKIE;
	}
	function getonlineuser(){
		$option = array(
			CURLOPT_URL=>'http://f.10086.cn/im5/index/onlineUsers.action?t='.time().'017',
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_REFERER =>'http://f.10086.cn/im5/login/login.action' , 
			CURLOPT_POST=>true,
			CURLOPT_POSTFIELDS=>'gender=2',
			CURLOPT_COOKIESESSION=>true,
			CURLOPT_COOKIE=>$this->COOKIE,
		);
		$result=$this->exec($option);
		return  $result;
	}
	function getmsg(){echo $this->COOKIE;
		$option = array(
			CURLOPT_URL=>'http://f.10086.cn/im5/box/alllist.action?t='.time().'151' ,
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_REFERER=>'http://f.10086.cn/im5/login/login.action?mnative=0&t='.time().'561',
			CURLOPT_POST=>false,
			CURLOPT_HEADER=>false,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
			CURLOPT_COOKIESESSION=>true,
			CURLOPT_COOKIE=>$this->COOKIE,
			);
		$result=$this->exec($option);
		if(!empty($result)){
			//这里写如果有消息了,怎么处理
			$msg=json_decode($result);
            return $msg->chat_messages;
		}
	}
	function getmsgover($msgid){
		$option = array(
			CURLOPT_URL=>'http://f.10086.cn/im5/chat/queryNewMsg.action?t='.time().'151&_='.time().'151&idMsgs='.$msgid.'&t='.time().'151' ,
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_REFERER=>'http://f.10086.cn/im5/login/login.action?mnative=0&t='.time().'561',
			CURLOPT_POST=>false,
			CURLOPT_HEADER=>false,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
			CURLOPT_COOKIESESSION=>true,
			CURLOPT_COOKIE=>$this->COOKIE,
		);
		$result=$this->exec($option);
		if('{"returnCode":200}'==$result) return true;
		return false;
	}
	function sendSMS($aimtel,$msg){
		//需要将用户手机号码转为userid
		$userid=$this->teltouid($aimtel);
		$post_data='touserid='.$userid.'&msg='.$msg;echo $post_data;
		$option = array(
			CURLOPT_URL =>'http://f.10086.cn/im5/chat/sendNewMsg.action' ,
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_REFERER=>'http://f.10086.cn/im5/login/login.action?mnative=0&t='.time().'561',
			CURLOPT_POST=>true,
			CURLOPT_HEADER=>false,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
			CURLOPT_POSTFIELDS=>$post_data,
			CURLOPT_COOKIESESSION=>true,
			CURLOPT_COOKIE=>$this->COOKIE,
		);
		$result=$this->exec($option);
		if($result=='{"sendCode":"true","info":"消息发送成功"}') return true;
		else return false;
	}
	function teltouid($tel){
		$option = array(
			CURLOPT_URL =>'http://f.10086.cn/im5/index/searchFriendsByQueryKey.action' ,
			CURLOPT_REFERER=>'http://f.10086.cn/im5/login/login.action?mnative=0&t='.time().'192',
			CURLOPT_POST=>true,
			CURLOPT_RETURNTRANSFER=>true,
			CURLOPT_POSTFIELDS=>'queryKey='.$tel,
			CURLOPT_HEADER=>false,
			CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
			CURLOPT_COOKIE=>$this->COOKIE,
			CURLOPT_COOKIESESSION=>true
		);
		$obj=json_decode($this->exec($option));echo $obj->contacts[0]->idFetion; print_r($obj);
		//echo $obj->contacts[0]->idContact;
		return $obj->contacts[0]->idContact ;
	}
	function exec($option){
		$c=curl_init();
		curl_setopt_array($c,$option);
		$result=curl_exec($c);
		curl_close($c);
		return $result;
	}
	 function sae_saveCOOKIE($string){
		$mmc=memcache_init();
	    if($mmc==false){
	        echo "mc init failed\n"; return 0;	    	
	    }
	    else
	    {
	        return memcache_set($mmc,$this->tel,$string);
	    }
	}
	function sae_readCOOKIE(){
		$mmc=memcache_init();
	    if($mmc==false){
	        echo "mc init failed\n"; return 0;
	    }
	    else
	    {
	        echo $res=memcache_get($mmc,$this->tel);
                return $res;
	    }

	}
	function saveCOOKIE($string){
		if(!empty($_SERVER['HTTP_APPNAME'])&&!empty($_SERVER['HTTP_APPVERSION'])) return $this->sae_saveCOOKIE($string);
		$f=fopen($this->tel.'.txt', 'w');
		return fwrite($f, $string);
	}
	function readCOOKIE(){
          if(isset($_SERVER['HTTP_APPNAME'])&&isset($_SERVER['HTTP_APPVERSION'])){  $this->COOKIE= $this->sae_readCOOKIE(); return 1;}
		if(file_exists($this->tel.'.txt')&&filesize($this->tel.'.txt')){
			$f=fopen($this->tel.'.txt', 'r');
			$COOKIE=fread($f, filesize($this->tel.'.txt'));
			if(!empty($COOKIE)) return $this->COOKIE=$COOKIE;
		}
	}
}
$f=new PHPFetionRobot('13312312311',wpwd');
$f->login('13312312311','pwd');//$f->getonlineuser();
$f->COOKIElogin();
$f->getonlineuser();
//$res=$f->sendSMS('1234567890','测试吧发短信');
//if($res) echo '成功';
//else echo '失败';
//$f->keeponline();
//$msg=$f->getmsg();
//foreach($msg as $m) print_r($m);
print_r($f->getmsg());  // 返回的是数组对象
foreach ($f->getmsg() as  $msgobj) {
	echo $f->getmsgover($msgobj->idMessage);//已经读取完毕
}

推荐阅读
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • Scrapy 爬取图片
    1.创建Scrapy项目scrapystartprojectCrawlMeiziTuscrapygenspiderMeiziTuSpiderhttps:movie.douban.c ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • css元素可拖动,如何使用CSS禁止元素拖拽?
    一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
  • 这个问题发生在重新安装系统后,丢失了之前的privatekey等。所以解决方法就是提示的revokeandrequest。到developercenter中找到certificat ... [详细]
  • 前端提高篇(七十):SVG基本使用、基本样式、路径path
    SVG是使用XML来描述二维图形和绘图程序的语言。SVG遵循的是xml的规范,与html5的使用有所区别SVG绘制出来的是矢量图,放大之后不会失真官方文 ... [详细]
author-avatar
筱冬瀦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有