PHP 模拟QQ登录及发送消息实现方法

来源:互联网 发布:ubuntu dns 重启生效 编辑:程序博客网 时间:2024/06/04 17:52

实在闲的无聊写的利用CURL抓取3GQQ的网页实现的。
只是简单实现了功能,你可以自己修改代码实现更多可能。
如:定时发送消息、机器人客服、循环骚扰好友等各种无节操应用 = =||
废话不多说展示代码,分两个步骤完成。

第一步:登录获取sid,有sid是发送消息的前提。

header("Content-type:text/html;charset=utf-8");//发送方QQ账号和密码$qq  = '';$pwd = '';//准备要POST数据$data = array(    'qq'            => $qq,    'pwd'           => $pwd,    'bid_code'      => '3GQQ',    'toQQchat'      => true,    'login_url'     => 'http://pt.3g.qq.com/s?aid=nLoginnew&q_from=3GQQ',    'q_from'        => '',    'modifySKey'    => 0,    'loginType:'    => 1,    'aid'           => 'nLoginHandle',    'i_p_w'         => 'qq|pwd|',);//开始CURL模拟登录$ch = curl_init();curl_setopt($ch,CURLOPT_URL,'http://pt.3g.qq.com/psw3gqqLogin');curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));$file = curl_exec($ch);curl_close($ch);//分析登录是否成功preg_match('%sid=(.*?)&%si',$file,$sid);$sid = $sid[1];if($sid){    echo '登陆成功!';}else{    echo '登陆失败!请检查用户名和密码是否正确!';    exit();}

获取到sid后就可以发送消息了,注意你只能发送给你的QQ好友或者QQ群!!!

第二步:发送消息,利用上一步获取到的sid。

header("Content-type:text/html;charset=utf-8");//填写上一步中获取的sid,你也可以改成$_GET来传递sid$sid  = '';//接收方的QQ和要发送的内容$qq   = '';$text = '';//准备要POST的数据$data = array(    'u'         => $qq,    'saveUrl'   => 0,    'do'        => 'send',    'on'        => 1,    'aid'       => '发送',    'msg'       => $text,);//开始CURL模拟发送$ch = curl_init();curl_setopt($ch,CURLOPT_URL,'http://q16.3g.qq.com/g/s?sid=' . $sid);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));$file = curl_exec($ch);curl_close($ch);//分析发送是否成功preg_match('%<p align="left">(.*?)<br/>%si',$file,$callback);$callback = $callback[1];echo $callback;


0 0
原创粉丝点击