用PHP寫的QQ Client,可以登陸、登出、收發消息、添加好友

發表于:2007-05-25來源:作者:點擊數: 標簽:php登出可以寫的Client
下載:http://blog.hackfan.net/up/QQClient.rar /*************************************** QQClient 作者:Hackfan 來源:http://blog.hackfan.net/ 2005.8.18 QQ客戶端,使用騰訊tqq.tencent.com:8000HTTP接口 參考文章:http://spaces.msn.com/members/m

下載:http://blog.hackfan.net/up/QQClient.rar

/***************************************
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
    登陸失?。篞Q_LOGIN_FAILED
     同時,全局變量$QQ_ERROR_MSG記錄了服務器返回的錯誤說明
   服務器返回失?。篞Q_RETURN_FAILED

 獲得好友列表:
  $qq -> getFriendsList();
  參數:
   void
  返回:
   成功:
    array
    (
     QQ號碼,
    )
   失?。篞Q_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
   失?。篞Q_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' =>   //昵稱
    )
   失?。篞Q_RETURN_FAILED

 添加好友:
  $qq -> addFriend( '106814' );
  參數:
   string QQ號碼
  返回:
   成功:
    對方允許任何人加為好友:QQ_ADDTOLIST_SUCCESS;
    需要驗證:QQ_ADDTOLIST_NEEDAUTH;
    不允許任何人加為好友:QQ_ADDTOLIST_REFUSE;
    未知的代碼:QQ_ADDTOLIST_UNKNOWN;
   失?。篞Q_RETURN_FAILED

 驗證:
  $qq -> replyAdd( '106814' , TYPE, MSG );
  參數:
   string QQ號碼
   enum(0,1,2) 類型
    *0表示“通過驗證”,1表示“拒決加為對方為好友”,2表示“為請求對方加為好友”
   string 理由
  返回:
   成功:QQ_RETURN_SUCCESS
   失?。篞Q_RETURN_FAILED

 刪除好友:
  $qq -> delFriend( '106814' );
  參數:
   string QQ號碼
  返回:
   成功:QQ_RETURN_SUCCESS
   失?。篞Q_RETURN_FAILED

 改變狀態:
  $qq -> changeStatus( QQ_STATUS );
  參數:
   enum(QQ_STATUS_ONLINE,QQ_STATUS_OFFLINE,QQ_STATUS_BUSY) 類型
  返回:
   成功:QQ_RETURN_SUCCESS
   失?。篞Q_RETURN_FAILED

 登出:
  $qq -> logout();
  參數:
   void
  返回:
   成功:QQ_RETURN_SUCCESS
   失?。篞Q_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
   失?。篞Q_RETURN_FAILED

 發送信息:
  $qq -> sendMsg($uin,$msg);
  參數:
  返回:
   成功:QQ_RETURN_SUCCESS
   失?。篞Q_RETURN_FAILED

解釋:
 QQ_RETURN_SUCCESS表示服務器返回執行成功的信息
 QQ_RETURN_FAILED表示服務器沒有正確返回或者返回沒有正確執行
  本代碼處于調試狀態,當服務器沒有正確返回的時候,將會打印出詳細的信息

運行:推薦在Console模式下運行本程序,不建議使用WebServer運行。

***************************************/

下載:http://blog.hackfan.net/up/QQClient.rar

 hackfan 回復于:2005-08-20 17:15:43
很多特性還有待研究,希望感興趣的朋友和我聯系

大家也是抱著研究的態度使用這個類,因為還有很多地方可以做得更完美

群:3463211
QQ:106814

 lekj 回復于:2005-08-22 14:51:45
...怎么沒有人頂的.....

頂啊....好東西.....對樓主表示萬二分感謝......

 hackfan 回復于:2005-08-22 15:03:08
非常感謝,也許它的價值還有待大家發掘!

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97