php收短信,PHP飞信接收短信类

代码<?php

/*

*Author:Cplushua

*URI:http://weibo.com/sdnugonghua*/

Class PHPFetionRobot{

private $tel;

private $pwd;

private $cookie;

private $option = array(

CURLOPT_URL=>'',

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);//已经读取完毕

}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值