欢迎光临
我们一直在努力

用PHP写的QQ Client,可以登陆、登出、收发消息、添加好友-PHP教程,PHP应用

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用PHP写的QQ Client,可以登陆、登出、收发消息、添加好友-PHP教程,PHP应用
分享到: 更多 (0)