用PHP写的QQ Client,可以登陆、登出、收发消息、添加好友
作者:Hackfan来源:http://blog.hackfan.net/
2005.8.18
QQ客户端,使用腾讯tqq.tencent.com:8000 HTTP接口
参考文章:http://spaces.msn.com/members/mprogramer
使用到的类:
Advanced HTTP Client
中文编码集合类库
类接口:
初始化类:
$qq = new QQClient(@#106814@#,@#password@#);
登陆:
$qq -> login();
参数:
void
返回:
服务器返回成功:
登陆成功:QQ_LOGIN_SUCCESS
登陆失败:QQ_LOGIN_FAILED
同时,全局变量$QQ_ERROR_MSG记录了服务器返回的错误说明
服务器返回失败:QQ_RETURN_FAILED
获得好友列表:
$qq -> getFriendsList();
参数:
void
返回:
成功:
array
(
QQ号码,
)
失败:QQ_RETURN_FAILED
获得在线列表:
$qq -> getOnlineList();
参数:
void
返回:
成功:
好友数 > 0
array
(
array
(
"UN" => QQ号码,
"NK" => QQ昵称,
"ST" => QQ状态,
"FC" => QQ头像
),
)
关于ST:
10为上线QQ_STATUS_ONLINE,20为离线QQ_STATUS_OFFLINE,30为忙碌QQ_STATUS_BUSY
关于FC:
FC为QQ头像的的ID,如的头像ID为270,那么其头使用的图片为91.bmp,其算法为FC/3+1
好友数 = 0
QQ_LIST_NONE
错误:
!(在线好友数==在线好友昵称数==在线好友状态数==在线好友头像数):QQ_LIST_ERROR
失败:QQ_RETURN_FAILED
获得号码信息:
$qq -> getInfo(@#106814@#);
参数:
string QQ号码
返回:
成功:
array
(
@#AD@# => , //联系地址
@#AG@# => , //年龄
@#BT@# => , //血型
@#CO@# => , //星座
@#CT@# => , //城市
@#CY@# => , //国家
@#EM@# => , //Email
@#FC@# => , //头像
@#HP@# => , //网站
@#JB@# => , //职业
@#MO@# => , //移动电话
@#PC@# => , //邮编
@#PH@# => , //联系电话
@#PR@# => , //简介
@#PV@# => , //省
@#RN@# => , //真实姓名
@#SC@# => , //毕业院校
@#SX@# => , //性别
@#UN@# => , //QQ号
@#NK@# => //昵称
)
失败:QQ_RETURN_FAILED
添加好友:
$qq -> addFriend( @#106814@# );
参数:
string QQ号码
返回:
成功:
对方允许任何人加为好友:QQ_ADDTOLIST_SUCCESS;
需要验证:QQ_ADDTOLIST_NEEDAUTH;
不允许任何人加为好友:QQ_ADDTOLIST_REFUSE;
未知的代码:QQ_ADDTOLIST_UNKNOWN;
失败:QQ_RETURN_FAILED
验证:
$qq -> replyAdd( @#106814@# , TYPE, MSG );
参数:
string QQ号码
enum(0,1,2) 类型
*0表示“通过验证”,1表示“拒决加为对方为好友”,2表示“为请求对方加为好友”
string 理由
返回:
成功:QQ_RETURN_SUCCESS
失败:QQ_RETURN_FAILED
删除好友:
$qq -> delFriend( @#106814@# );
参数:
string QQ号码
返回:
成功:QQ_RETURN_SUCCESS
失败:QQ_RETURN_FAILED
改变状态:
$qq -> changeStatus( QQ_STATUS );
参数:
enum(QQ_STATUS_ONLINE,QQ_STATUS_OFFLINE,QQ_STATUS_BUSY) 类型
返回:
成功:QQ_RETURN_SUCCESS
失败:QQ_RETURN_FAILED
登出:
$qq -> logout();
参数:
void
返回:
成功:QQ_RETURN_SUCCESS
失败:QQ_RETURN_FAILED
接收信息:
$qq -> getMsg();
参数:
void
返回:
消息数 > 0
array
(
array
(
"MT" => 消息类型,
"UN" => 发送者号码,
"MG" => 消息内容
),
)
关于MT:
9为用户消息,99为系统消息,2为请求信息,3为通过验证,4为拒绝被加好友
关于MG:
当MT=9时,MG为用户发送的消息内容
当MT=99时,
MG=10(QQ_STATUS_ONLINE)表示对方上线
MG=20(QQ_STATUS_OFFLINE)表示对方下线
MG=30(QQ_STATUS_BUSY)表示对方进入忙碌状态
当MT=2时,MG为请求验证的信息
当MT=3时,MG为?
当MT=4时,MG为拒绝理由
好友数 = 0
QQ_LIST_NONE
错误:
!(在线好友数==在线好友昵称数==在线好友状态数==在线好友头像数):QQ_LIST_ERROR
失败:QQ_RETURN_FAILED
发送信息:
$qq -> sendMsg($uin,$msg);
参数:
返回:
成功:QQ_RETURN_SUCCESS
失败:QQ_RETURN_FAILED
解释:
QQ_RETURN_SUCCESS表示服务器返回执行成功的信息
QQ_RETURN_FAILED表示服务器没有正确返回或者返回没有正确执行
本代码处于调试状态,当服务器没有正确返回的时候,将会打印出详细的信息
运行:推荐在Console模式下运行本程序,不建议使用WebServer运行。
↓相关文章:
- · mysql 自动备份----aspbiz
- · PHP日常实用小Tips
- · Php应用实例--新增资料录到MySQL资料表
- · PHP-Push技术实现刷新功能 转载
- · 四种提示框代码
- · php 分析rss代码一段
- · 如何正确理解 PHP 的错误信息
- · 身份证方面的函数
- · Win XP下全新安装Apache2,PHP5,MYSQL5
- · linux下apache+mysql+php开发环境纯源代码编译搭建
- · RedhatAS3.0上安装Apache2+PHP5+MySQL+Resin+SSL+GD+weba
- · 给图片生成缩略图和加版权的类
- · 一段防盗连的PHP代码
- · 一个FTP树状目录(PHP)
- · 一个双向加密解密法(php)
- · PHP如何调用JAVA 类库
- · 用于测试php函数的代码
- · PHP4+PWS在Windows 9x下的安装和配置
- · 用javascript+PHP随机显示图片
- · PHP4实际应用经验篇
- · POP3、SMTP邮件收发程序
- · 在PHP中显示格式化的用户输入
- · 使用PHP 5.0 轻松解析XML文档(6)
- · 使用PHP 5.0 轻松解析XML文档(4)
- · 使用PHP 5.0 轻松解析XML文档(2)
- · PHP中实现面向对象编程(下)
- · 用PHP实现WEB动态网页静态化
- · 让你的PHP引擎全速运转
- · 自动发布新闻的php代码
- · 在PHP中将图片存放ORACLE中
- · PHP应用分页显示制作详细讲解(1)
- · PHP5中使用Web服务访问J2EE应用程序(3)
- · PHP5中使用Web服务访问J2EE应用程序(1)
- · PHP开发中文件操作疑难问答
- · 用Portal来集成外部应用程序
- · php+dbfile开发小型留言本
- · 用GD图库生成横竖柱状图折线图的类
- · 用php实现真正的----连动下拉列表
- · PHP快速模板技术
- · PHP中的Java扩展
- · php注入3
- · php注入1
- · PHP中类的理解和应用[一]
- · 一个用PHP实现的UBB类!
- · php有关于正则表达式的详细说明

