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

实在闲的无聊写的利用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;


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值