仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3989|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页编程之用PHP写的QQ Client,可以上岸、登出、...

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:29:55 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
怎么样出来了吧,怎么样自己也可以写出php程序了,虽然离职业和专业的人还有很远,但是好的开始是成功的一半。这个时候改怎么做了呢。现在就是拿1本高手推荐的书,重头到尾读1遍,我说的这个读是自己看。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运转。
  不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
乐观 该用户已被删除
沙发
 楼主| 发表于 2015-2-24 08:08:46 | 显示全部楼层
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-8 14:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表