PHP模拟QQ登录,发送和接收信息的例子
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-25 15:49:37 浏览: 评论:0
下面我们一起来看一个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;
- }
- ?>
Tags: PHP模拟QQ登录 发送接收信息
- 上一篇:PHP实现数据导入、CSV文件下载的例子
- 下一篇:php开发中实用的PHP代码片段
相关文章
- ·PHP模拟QQ登录的方法(2021-06-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)