PHP 模拟QQ登录及发送消息实现方法
2014-11-15 08:34
776 查看
实在闲的无聊写的利用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;
只是简单实现了功能,你可以自己修改代码实现更多可能。
如:定时发送消息、机器人客服、循环骚扰好友等各种无节操应用 = =||
废话不多说展示代码,分两个步骤完成。
第一步:登录获取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;
相关文章推荐
- PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
- PHP模拟QQ登录的方法
- PHP模拟QQ登录的方法
- Java模拟web微x登录发送文字和图片消息简单实现爬虫
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- php实现发送微信模板消息的方法
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- 用PHP模拟登录WAP飞信实现飞信发送
- php模拟飞鸽传输协议,代码实现向飞鸽发送消息
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- php实现发送微信模板消息的方法
- php模拟socket 多次发送数据的实现方法
- php教程 CURL实现带有验证码网站的模拟登录的方法
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- PHP实现QQ快速登录的方法
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- PHP实现QQ快速登录的方法
- C#模拟登录Facebook 实现发送消息、评论帖子
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- PHP第三方登录―QQ登录实现方法