作者: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();
參數(shù):
void
返回:
服務(wù)器返回成功:
登陸成功:qq_login_success
登陸失敗:qq_login_failed
同時(shí),全局變量$qq_error_msg記錄了服務(wù)器返回的錯(cuò)誤說明
服務(wù)器返回失敗:qq_return_failed
獲得好友列表:
$qq -> getfriendslist();
參數(shù):
void
返回:
成功:
array
(
qq號(hào)碼,
)
失敗:qq_return_failed
獲得在線列表:
$qq -> getonlinelist();
參數(shù):
void
返回:
成功:
好友數(shù) > 0
array
(
array
(
"un" => qq號(hào)碼,
"nk" => qq昵稱,
"st" => qq狀態(tài),
"fc" => qq頭像
),
)
關(guān)于st:
10為上線qq_status_online,20為離線qq_status_offline,30為忙碌qq_status_busy
關(guān)于fc:
fc為qq頭像的的id,如的頭像id為270,那么其頭使用的圖片為91.bmp,其算法為fc/3+1
好友數(shù) = 0
qq_list_none
錯(cuò)誤:
!(在線好友數(shù)==在線好友昵稱數(shù)==在線好友狀態(tài)數(shù)==在線好友頭像數(shù)):qq_list_error
失敗:qq_return_failed
獲得號(hào)碼信息:
$qq -> getinfo('106814');
參數(shù):
string qq號(hào)碼
返回:
成功:
array
(
'ad' => , //聯(lián)系地址
'ag' => , //年齡
'bt' => , //血型
'co' => , //星座
'ct' => , //城市
'cy' => , //國家
'em' => , //email
'fc' => , //頭像
'hp' => , //網(wǎng)站
'jb' => , //職業(yè)
'mo' => , //移動(dòng)電話
'pc' => , //郵編
'ph' => , //聯(lián)系電話
'pr' => , //簡介
'pv' => , //省
'rn' => , //真實(shí)姓名
'sc' => , //畢業(yè)院校
'sx' => , //性別
'un' => , //qq號(hào)
'nk' => //昵稱
)
失敗:qq_return_failed
添加好友:
$qq -> addfriend( '106814' );
參數(shù):
string qq號(hào)碼
返回:
成功:
對方允許任何人加為好友:qq_addtolist_success;
需要驗(yàn)證:qq_addtolist_needauth;
不允許任何人加為好友:qq_addtolist_refuse;
未知的代碼:qq_addtolist_unknown;
失敗:qq_return_failed
驗(yàn)證:
$qq -> replyadd( '106814' , type, msg );
參數(shù):
string qq號(hào)碼
enum(0,1,2) 類型
*0表示“通過驗(yàn)證”,1表示“拒決加為對方為好友”,2表示“為請求對方加為好友”
string 理由
返回:
成功:qq_return_success
失敗:qq_return_failed
刪除好友:
$qq -> delfriend( '106814' );
參數(shù):
string qq號(hào)碼
返回:
成功:qq_return_success
失敗:qq_return_failed
改變狀態(tài):
$qq -> changestatus( qq_status );
參數(shù):
enum(qq_status_online,qq_status_offline,qq_status_busy) 類型
返回:
成功:qq_return_success
失敗:qq_return_failed
登出:
$qq -> logout();
參數(shù):
void
返回:
成功:qq_return_success
失敗:qq_return_failed
接收信息:
$qq -> getmsg();
參數(shù):
void
返回:
消息數(shù) > 0
array
(
array
(
"mt" => 消息類型,
"un" => 發(fā)送者號(hào)碼,
"mg" => 消息內(nèi)容
),
)
關(guān)于mt:
9為用戶消息,99為系統(tǒng)消息,2為請求信息,3為通過驗(yàn)證,4為拒絕被加好友
關(guān)于mg:
當(dāng)mt=9時(shí),mg為用戶發(fā)送的消息內(nèi)容
當(dāng)mt=99時(shí),
mg=10(qq_status_online)表示對方上線
mg=20(qq_status_offline)表示對方下線
mg=30(qq_status_busy)表示對方進(jìn)入忙碌狀態(tài)
當(dāng)mt=2時(shí),mg為請求驗(yàn)證的信息
當(dāng)mt=3時(shí),mg為?
當(dāng)mt=4時(shí),mg為拒絕理由
好友數(shù) = 0
qq_list_none
錯(cuò)誤:
!(在線好友數(shù)==在線好友昵稱數(shù)==在線好友狀態(tài)數(shù)==在線好友頭像數(shù)):qq_list_error
失敗:qq_return_failed
發(fā)送信息:
$qq -> sendmsg($uin,$msg);
參數(shù):
返回:
成功:qq_return_success
失敗:qq_return_failed
解釋:
qq_return_success表示服務(wù)器返回執(zhí)行成功的信息
qq_return_failed表示服務(wù)器沒有正確返回或者返回沒有正確執(zhí)行
本代碼處于調(diào)試狀態(tài),當(dāng)服務(wù)器沒有正確返回的時(shí)候,將會(huì)打印出詳細(xì)的信息
運(yùn)行:推薦在console模式下運(yùn)行本程序,不建議使用webserver運(yùn)行。