仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4413|回复: 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-16 05:04:00 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
乐观 该用户已被删除
板凳
 楼主| 发表于 2015-2-24 08:08:46 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
再见西城 该用户已被删除
地板
发表于 2015-3-7 10:07:09 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
山那边是海 该用户已被删除
5#
发表于 2015-3-11 08:39:38 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
若相依 该用户已被删除
6#
发表于 2015-3-11 13:56:51 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-18 15:53:55 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
变相怪杰 该用户已被删除
8#
发表于 2015-3-23 22:25:26 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
活着的死人 该用户已被删除
9#
发表于 2015-3-25 03:26:03 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
第二个灵魂 该用户已被删除
10#
发表于 2015-4-1 06:08:35 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
灵魂腐蚀 该用户已被删除
11#
发表于 2015-4-9 12:15:05 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
小妖女 该用户已被删除
12#
发表于 2015-4-9 23:46:16 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
莫相离 该用户已被删除
13#
发表于 2015-4-16 04:11:17 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
老尸 该用户已被删除
14#
发表于 2015-4-21 15:52:01 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
透明 该用户已被删除
15#
发表于 2015-4-22 15:53:43 | 只看该作者
爱上php,他也会爱上你。
再现理想 该用户已被删除
16#
发表于 2015-5-7 16:43:27 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
小女巫 该用户已被删除
17#
发表于 2015-6-8 17:35:52 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
飘灵儿 该用户已被删除
18#
发表于 2015-7-2 00:39:14 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
柔情似水 该用户已被删除
19#
发表于 2015-7-2 21:46:43 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 05:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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