再见西城 发表于 2015-2-3 23:57:05

PHP教程之PHP完成QQ挂机编程(2):取QQ在线形态

即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。     这是一个PHP取QQ在线形态法式。道理很复杂,省略不说了,可以看代码。用的是互动形态这个办事去取形态的。

  用法也复杂,传入的参数为QQ号码,函数前往1则暗示QQ在线,函数前往0则暗示QQ不在线,前往小于0则暗示失足。

  注:需求QQ是用QQ2004II beta1或以上版本上岸才可以检测失掉。


代码以下:
<P class=code><?php
// vim: set expandtab tabstop=4 shiftwidth=4 fdm=marker:
// | Copyright (c) 2004 Fishchen, China.
// | Authors: Fishchen, China.
// $Id$

/**
* @note License: GNU General Public License (GPL) version 2
* @file $RCSfile$
* @version 1.0
* @author fishchen
* @date 2004/12/24 11:00:00 (Merry Xmas)
* @brief Get QQ Online Status.
*/

/* {{{ function tphp_qq_online( $uin ) */
/**
* Get QQ online status.
*
* @note Need user login QQ with QQ2004IIbeta1 or laster.
* @param int $uin QQ Number.
* @retval int $ret 1: online, 0: offline, <0: error.
*/
function tphp_qq_online( $uin )
{
$reques = "GET /pa?p=1:".$uin.":1 HTTP/1.1\r\n";
$reques .= "Host: wpa.qq.com\r\n";
$reques .= "User-Agent: PHP_QQ_SPY\r\n\r\n";

if ( !( $socket = socket_create( AF_INET, SOCK_STREAM, SOL_TCP ) ) ) return(-1);
if ( !( socket_connect( $socket, "wpa.qq.com", 80 ) ) ) return(-1);
if ( !( socket_write( $socket, $reques ) ) ) return(-1);
if ( !( $respon = socket_read( $socket, 1024, PHP_BINARY_READ ) ) ) return(-1);;
socket_close( $socket );

$field = explode( "\r\n", $respon );
for ( $i=0; $i

海妖 发表于 2015-2-4 07:15:39

写的比较杂,因为我也是个新手,不当至于大家多多指正。

简单生活 发表于 2015-2-5 22:00:04

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

小女巫 发表于 2015-2-13 19:23:48

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

只想知道 发表于 2015-2-16 01:18:20

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

飘灵儿 发表于 2015-2-27 09:50:25

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

飘飘悠悠 发表于 2015-3-1 01:39:11

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

admin 发表于 2015-3-17 06:12:25

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

金色的骷髅 发表于 2015-3-17 10:10:24

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

再现理想 发表于 2015-3-24 06:26:33

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

爱飞 发表于 2015-3-25 08:55:09

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

透明 发表于 2015-3-27 21:11:24

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

兰色精灵 发表于 2015-4-1 06:08:38

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

变相怪杰 发表于 2015-4-2 12:43:18

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

小妖女 发表于 2015-4-6 04:09:47

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

乐观 发表于 2015-4-12 14:52:41

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

小魔女 发表于 2015-4-14 04:39:15

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

蒙在股里 发表于 2015-4-15 12:32:02

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

第二个灵魂 发表于 2015-4-17 18:12:44

建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。

因胸联盟 发表于 2015-5-1 17:11:45

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。
页: [1]
查看完整版本: PHP教程之PHP完成QQ挂机编程(2):取QQ在线形态