QQ聊天机器人for PHP版 (登录,收、发消息)
<?php
include "http_no_cookie.class.php";
class qq {
public $sid;
public $http;
public $qq_num;
function __construct() {
$this->http = new http_no_cookie;
}
function login($qq_num, $qq_pwd) {
echo $data = $this->http->get("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;
echo $data = $this->http->post($action, http_build_query($params));
if(preg_match("/http:\/\/vc.gtimg.com\//",$data,$matches)){
echo "需要输入验证码";
return 0;
exit;
}
if(preg_match("/密码错误/",$data,$matches)){
echo "密码错误";
return 1;
exit;
}
$action = preg_match("/sid=(.+?)&/", $data, $matches);
$this->sid = $matches[1];
return $this->sid;
}
function sendMsg($to_num, $msg, $sid = 0) {
$sid = $sid ? $sid : $this->sid;
if (!$sid)
exit("sid值未传入进去");
$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;
echo $data = $this->http->post($url, http_build_query($params));
return $data;
}
function getMsg($qq_num = 0, $sid = 0) {
$qq_num = $qq_num ? $qq_num : $this->qq_num;
if (!$qq_num)
exit("qq_num值未传入进去");
$sid = $sid ? $sid : $this->sid;
if (!$sid)
exit("sid值未传入进去");
$url = "http://q16.3g.qq.com/g/s?sid=" . $sid . "&3G_UIN=" . $qq_num . "&saveURL=0&aid=nqqChat";
$data = $this->http->get($url);
preg_match("/name=\"u\" value=\"(\d+)\"/", $data, $matches);
$result["qq"] = $matches[1];
$data = explode("<form", $data);
$data = $data[0];
preg_match_all("/<p>(.+)?<\/p>/", $data, $matches);
unset($matches[1][0]);
$result["content"] = $matches[1];
return $result;
}
function logout($sid){
$url="http://pt.3g.qq.com/s?sid=".$sid."&aid=nLogout";
echo $url;
echo $this->http->get($url);
}
function getFriendsList($qq_num = 0, $sid = 0){
$result=array();
$qq_num = $qq_num ? $qq_num : $this->qq_num;
if (!$qq_num)
exit("qq_num值未传入进去");
$sid = $sid ? $sid : $this->sid;
if (!$sid)
exit("sid值未传入进去");
$url="http://q16.3g.qq.com/g/s?aid=nqqchatMain&sid=".$sid."&myqq=".$qq_num;
while(true){
$i=1;
$url.="&p=".$i;
$data=$this->http->get($url);
preg_match_all("/u=(.+?)&/",$data,$matches);
foreach($matches[1] as $key=>$value){
$result[]=$value;
}
if(count($matches[1])<13)
break;
$i++;
}
return $result;
}
}
<?php
class http_no_cookie {
private $curl;
public $user_agent = "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";
public function get($url) {
$this->curl = curl_init();
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8);
curl_setopt($this->curl, CURLOPT_URL, $url);
curl_setopt($this->curl, CURLOPT_HEADER, 0);
curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($this->curl);
curl_close($this->curl);
return $data;
}
public function post($url, $params) {
$this->curl = curl_init();
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8);
curl_setopt($this->curl, CURLOPT_URL, $url);
curl_setopt($this->curl, CURLOPT_HEADER, 1);
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->curl, CURLOPT_POST, 1);
curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($this->curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($this->curl);
curl_close($this->curl);
return $data;
}
}
?>
http://lvxinwei.sinaapp.com/961.html
QQ聊天机器人for PHP版 (登录,收、发消息)的更多相关文章
- QQ 聊天机器人小薇 2.1.0 发布!
本次发布加入了支持茉莉机器人,并且更容易搭建开发环境,在线显示登录二维码~ 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 QQ 群消息 ...
- QQ 聊天机器人小薇 2.0.0 发布!
本次发布主要加入了支持讨论组聊天,并增强了稳定性.另外,官方小薇 QQ 机器人已经下线,大家要体验的话请 自建私服~ 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务, ...
- QQ 聊天机器人小薇 1.0.1 发布!
本次发布主要解决了消息丢失(Api返回码[1202])问题,并改进了改进了一些细节. 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 Q ...
- QQ 聊天机器人小薇发布!
简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 QQ 群消息,发现有"感兴趣"的内容时通过图灵机器人进行智能回复 监 ...
- QQ聊天机器人 Delphi代码
QQ聊天机器人 前几日,看到杂志上有一篇关于开发QQ聊天机器人的文章.谈到了对QQ循环发送消息内容,感觉倒也很好玩,于是拿起Delphi开始了我的QQ聊天机器人之路. 首先要明白自己要做什么, ...
- QQ 聊天机器人API
QQ机器人是腾讯陆续推出的的人工智能聊天机器人的总称. 都说小Q妹妹聪明好学,我们能够教她说话.也能够请他帮忙查询邮编.手机号,或者解释成语.翻译成语,据说她还会查询手机号码归属地.应用科学计算器. ...
- python3+qqBot+图灵机器人实现qq聊天机器人
原理: 通过Python3的qqBot开源库,基于腾讯的smartQQ协议登录个人QQ,实现监控.收集QQ消息,进而通过图灵机器人API接入方式实现自动聊天. 零.前期准备: 1.Python3 2. ...
- QQ聊天监视器(简易版),可以获取当前QQ进程的聊天窗口内容
原始出处: https://www.cnblogs.com/Charltsing/p/QQChatsMonitor.html 监视QQ聊天信息有很多种方法,最简易的就是直接抓取聊天窗口内容,一个QQ进 ...
- 仿QQ聊天软件2.0版
地址:http://blog.csdn.net/u012027907/article/details/36952893 Oracle java
随机推荐
- uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型(转)
在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看, 好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样 ...
- cocos2d-x 3.0 alpha1 生成Qt qch帮助文档
Qt的助手挺好用的. 比chm好多了 cocos2d-x使用doxygen生成文档. 默认生成的是html形式, 需要打开浏览器, 这个是比较耗资源吧 可以修改配置, 让doxygen同时输出qch形 ...
- DataTable 的数据导出到 Excel
如果有个DataTable类型的数据,可以这样导出到Excel中: public static void ExportToExcel(DataTable dt, string fileName) { ...
- Java操作Wrod文档的工具类
需要有jacob的jar包支持 import java.util.Iterator; import java.util.List; import java.util.HashMap; import c ...
- [改善Java代码]不推荐使用binarySearch对列表进行检索
对一个列表进行检索时,我们使用的最多的是indexOf方法,它简单好用,而且也不会出错,虽然它只能检索到第一个符合条件的值,但是我们可以生成子列表后再检索.这样也就可以查找到所有符合条件的值了. Co ...
- Java线程池--ThreadPoolExecutor
一.线程池的处理流程 向线程池提交一个任务后,它的主要处理流程如下图所示: 一个线程从被提交(submit)到执行共经历以下流程: 线程池判断核心线程池里的线程是否都在执行任务,如果不是,则创建一个新 ...
- Mac环境下svn的使用(转载)
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还 ...
- 前端开发中的一些chrome插件推荐
这篇博客推荐的都是谷歌chrome浏览器插件,理论上,与之相同内核的浏览器都能使用.由于是谷歌插件,所以在天朝的网络,你懂的! 红杏 专为 学者 .程序员.外贸工作者 打造的上网加速器.我们相信,上网 ...
- IE升级代码时邮件内容
TypeErrorUnable to set property 'value' of undefined or null reference. 但是可以进入添加页面,填完信息后,submit后跳转至 ...
- php 中cookie和session的用法比较
1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session. ...