乐观 发表于 2015-2-16 00:29:55

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

怎么样出来了吧,怎么样自己也可以写出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

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

山那边是海 发表于 2015-3-11 08:39:38

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

若相依 发表于 2015-3-11 13:56:51

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

冷月葬花魂 发表于 2015-3-18 15:53:55

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。

变相怪杰 发表于 2015-3-23 22:25:26

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

活着的死人 发表于 2015-3-25 03:26:03

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

第二个灵魂 发表于 2015-4-1 06:08:35

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

灵魂腐蚀 发表于 2015-4-9 12:15:05

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

小妖女 发表于 2015-4-9 23:46:16

Ps:以上纯属原创,如有雷同,纯属巧合

莫相离 发表于 2015-4-16 04:11:17

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

老尸 发表于 2015-4-21 15:52:01

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

透明 发表于 2015-4-22 15:53:43

爱上php,他也会爱上你。

再现理想 发表于 2015-5-7 16:43:27

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

小女巫 发表于 2015-6-8 17:35:52

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

飘灵儿 发表于 2015-7-2 00:39:14

兴趣是最好的老师,百度是最好的词典。

柔情似水 发表于 2015-7-2 21:46:43

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
页: [1]
查看完整版本: PHP网页编程之用PHP写的QQ Client,可以上岸、登出、...