加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP模拟QQ登录,发送和接收信息的实例

发布时间:2023-04-06 13:02:02 所属栏目:PHP教程 来源:
导读:下面我们一起来看一个PHP模拟QQ登录,发送和接收信息的例子,希望此例子对各位同学会有所帮助.

PHP实例代码如下:

<?php

header(&lsquo;Content-type: text/html; charset=utf-8&prime;);

$sid = qqLog
下面我们一起来看一个PHP模拟QQ登录,发送和接收信息的例子,希望此例子对各位同学会有所帮助.
 
PHP实例代码如下:
 
<?php
 
header(‘Content-type: text/html; charset=utf-8′);
 
$sid = qqLogin(‘发送信息的QQ’,'发送信息的QQ密码’);   //登录帐号
 
sendMsg($sid,’接收信息的QQ’,'聊天内容’);            //发送消息

$data = getMsg($sid,’接收信息的QQ’);               //获取和某个帐号的聊天记录

if(!emptyempty($data)){
 
foreach($data as $v){
 
echo $v['title'].’<br />’;
 
echo $v['msg'].’<br />’;
 
echo ‘————————<br />’;
 
}
 
}

function qqLogin($qq_num,$qq_pwd){                //登录帐号
 
$data = httpGet(‘http://pt.3g.qq.com/’);
 
$action = preg_match(“/action=”(.+)?”/”, $data, $matches);
 
$action = $matches[1];
 
$params = array();
 
$params["login_url"] = ‘http://pt.3g.qq.com/s?aid=nLogin’;
 
$params["sidtype"] = 1;
 
$params["loginTitle"] = ‘手机腾讯网’;
 
$params["bid"] = 0;
 
$params["qq"] = $qq_num;
 
$params["pwd"] = $qq_pwd;
 
$params["loginType"] =1;
 
$data = httpPost($action, $params,1);
 
$action = preg_match(“/sid=(.+?)&/”, $data, $matches);
 
$sid = $matches[1];
 
if($sid){
 
return $sid;
 
}else {
 
echo ‘登录失败’;
 
}
 
}

function sendMsg($sid,$to_num,$msg){            //发送消息
 
$params = array();
 
$params["msg"] = $msg;
 
$params["u"] = $to_num;
 
$params["saveURL"] = 0;
 
$params["do"] = “send”;
 
$params["on"] = 1;
 
$params["aid"] = “发送”;
 
$url = “http://q16.3g.qq.com/g/s?sid=” . $sid;
 
$data = httpPost($url, $params);
 
if(preg_match(‘/消息发送成功/’,$data)) echo ‘发送成功<br />’;
 
else  echo ‘发送失败’;
 
}

function getMsg($sid,$qq_num) {                    //获取消息
 
$url = “http://q16.3g.qq.com/g/s?sid=” . $sid . “&u=” . $qq_num . “&saveURL=0&aid=nqqChat”;
 
$data = httpGet($url);
 
preg_match_all(‘/<div class=”main-module bm-gray”>s+<p class=”(?:ft-s-gray|ft-s ft-cl2)”>(.+?)</p>s+<p>(.+?)</p></div>/s’,str_replace(“rn”,”",$data),$m);
 
foreach($m[1] as $k=>$v){
 
$tmp['title']=$v;
 
$tmp['msg']=$m[2][$k];
 
$r[]=$tmp;
 
}
 
return $r;
 
}

function httpGet($url,$header=0){                //GET请求
 
$opt = array(
 
CURLOPT_URL => $url,
 
CURLOPT_HEADER => $header,
 
CURLOPT_RETURNTRANSFER => 1,
 
CURLOPT_TIMEOUT => 60,
 
CURLOPT_USERAGENT=>’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13′
 
);
 
return curlRun($opt);
 
}

function httpPost($url,$data,$header=0){         //POST请求
 
$opt = array(
 
CURLOPT_URL => $url,
 
CURLOPT_HEADER => $header,
 
CURLOPT_RETURNTRANSFER => 1,
 
CURLOPT_TIMEOUT => 60,
 
CURLOPT_POSTFIELDS => http_build_query($data),
 
CURLOPT_USERAGENT=>’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13′
 
);
 
return curlRun($opt);
 
}

function curlRun($opt){
 
$ch = curl_init();
 
curl_setopt_array($ch,$opt);
 
$r = curl_exec($ch);
 
curl_close($ch);
 
return $r;
 
}

?>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!