作者: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运行。