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

 代码如下 复制代码

<?php
header(‘Content-type: text/html; charset=utf-8′);
$sid = qqLogin(‘发送信息的QQ’,'发送信息的QQ密码’);   //登录帐号
sendMsg($sid,’接收信息的QQ’,'聊天内容’);            //发送消息

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

if(!empty($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;
}

?>

时间: 2024-09-25 21:54:19

PHP模拟QQ登录,发送和接收信息的例子的相关文章

PHP模拟QQ登录的方法_php技巧

本文实例讲述了PHP模拟QQ登录的方法.分享给大家供大家参考.具体实现方法如下: 原理是用curl模拟发送post登录,cookie保存本地 这样理论上可以支持永久单挂QQ <?php //http://blog.qita.in 非技术[S.T] $qqno='你的QQ'; $qqpw='QQ密码'; $cookie = dirname(__FILE__).'/cookie.txt'; $post = array( 'login_url' => 'http://pt.3g.qq.com/s?s

PHP模拟QQ登录

  <?php  $qqno='你的QQ'; $qqpw='QQ密码'; $cookie = dirname(__FILE__).'/cookie.txt'; $post = array( 'login_url' => 'http://pt.3g.qq.com/s?sid=ATAll43N7ZULRQ5V8zdfojol&aid=nLogin', 'q_from' => '', 'loginTitle' => 'login', 'bid' => '0', 'qq' =

c#模拟hTTP登录成功 获取到cookie信息后 如何写入浏览器

问题描述 c#模拟hTTP登录成功获取到cookie信息后如何写入浏览器保持登录状态就是我的应用程序已经通过http请求模拟登陆成功并保存了cookie,现在想调用IE打开一个web界面,而不需要重新登陆,不知道这些cookie能否传给IE. 解决方案 解决方案二:传个key过去登录解决方案三:1.查看你的工具,如何在你的浏览器查找dom.插入一个dom.插入一个<scripttype=text/javascript>,以及如何运行一个js函数.2.不支持初学者钻研这类程序.最好还是学点正规的

请教如何实现登录QQ并导出QQ群中成员的信息

问题描述 请教如何实现登录QQ并导出QQ群中成员的信息 解决方案 解决方案二:http://wiki.open.qq.com/wiki/API%E5%88%97%E8%A1%A8解决方案三:引用1楼ajianchina的回复: http://wiki.open.qq.com/wiki/API%E5%88%97%E8%A1%A8 +1解决方案四:openidopenkey2个参数是什么啊,没看懂解决方案五:引用1楼ajianchina的回复: http://wiki.open.qq.com/wik

Android编程实现QQ表情的发送和接收完整实例(附源码)_Android

本文实例讲述了Android编程实现QQ表情的发送和接收.分享给大家供大家参考,具体如下: 在自己做一个聊天应用练习的时候,需要用到表情,于是就想着模仿一下QQ表情,图片资源完全copy的QQ.apk,解压就可以得到,这里不细说. 下面将该应用中的表情模块功能抽离出来,以便自己以后复习回顾.. 先看一下效果图: 首先进入界面:(完全仿照QQ) 点击一下上面的表情图标: 选择一些表情,输入一些文字混合: 点击发送: 可以看到文字和表情图片都一起显示出来了. 下面列出一些关键代码: 表情工具类Exp

Android编程实现QQ表情的发送和接收完整实例(附源码)

本文实例讲述了Android编程实现QQ表情的发送和接收.分享给大家供大家参考,具体如下: 在自己做一个聊天应用练习的时候,需要用到表情,于是就想着模仿一下QQ表情,图片资源完全copy的QQ.apk,解压就可以得到,这里不细说. 下面将该应用中的表情模块功能抽离出来,以便自己以后复习回顾.. 先看一下效果图: 首先进入界面:(完全仿照QQ) 点击一下上面的表情图标: 选择一些表情,输入一些文字混合: 点击发送: 可以看到文字和表情图片都一起显示出来了. 下面列出一些关键代码: 表情工具类Exp

模拟qq的消息接收

     接上:--->"模拟QQ的下拉列表选择图象(小白完善版)"     我们知道,在使用qq时,当你的朋友给你发来消息时,他的头像会不停的闪动,直到你查看该条消息,他才安静下来.这次小白要做的就是模拟这个东东:     1.来消息-->头像闪动               首先我们取出用户列表---如果该用户没发新消息给你,则显示他注册时的头像,否则,显示的图片为我们特制的动画图片(也可以对他的图片进行js特效处理:过一定的时间显示,给人闪动的感觉),这里给出第一种方

接收信息页面inform.asp--基于web的QQ程序2(only asp)

web|程序|页面    接收信息页面inform.asp--基于web的QQ程序2(only asp)<%for i=1 to 30if application("towho"&i)=session("user")response.wtite("来自:"&application("from"&i)&"<br>"&"内容"&

socket服务器端接收不到sokit工具客户端发送来的信息

问题描述 socket服务器端接收不到sokit工具客户端发送来的信息 try { ServerSocket serverSocket =new ServerSocket(1086); while (true) { Socket socket = serverSocket.accept(); BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(socket.getInputStream())); Stri