これは、QQ のオンライン ステータスを取得するための PHP プログラムです。原理は非常に単純です。ここでは詳しく説明しません。コードを見てください。ステータスの取得には、対話型ステータス サービスが使用されます。
渡されるパラメータは QQ 番号です。関数が 0 未満を返す場合は、QQ がオンラインであることを示します。 、エラーを示します。
注: QQ を検出するには、QQ2004II beta1 以降で QQ にログインする必要があります。
// vim: set Expandtab tabstop=4 shftwidth=4 fdm=marker:
// | 著作権 (c) 2004 フィッシュチェン、中国。
// $Id$
/**
* @note ライセンス: GNU General Public License (GPL) バージョン 2
* @file $RCSfile$
* @version 1.0
* @author Fishchen
* @date 2004/12/ 24 11:00:00 (メリー クリスマス)
* @brief QQ オンライン ステータスを取得します。
*/
/ * {{{ function tphp_qq_online( $uin ) */
/**
* QQ のオンライン ステータスを取得します。
*
* @note QQ2004IIbeta1 以降で QQ にログインする必要があります。
* @param int $uin QQ Number.
* @retval int $ret 1 : オンライン、0: オフライン、
*/
function tphp_qq_online( $uin )
{
$reques = "GET /pa? p=1 :".$uin.":1 HTTP/1.1rn";
$reques .= "ホスト: wpa.qq.comrn";
$reques .= "ユーザーエージェント: PHP_QQ_SPYrnrn";
if ( !( $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( "rn", $respon );
for ( $i=0; $i
$ret = 1;
} else if ( strpos( $field[$i], "オフライン") ) {
$ret = 0;
} else {
$ret = -1;
} // if
break;
} // if
} // for
return( $ret );
}
/* }}} */
/* {{{ サンプル:
echo tphp_qq_online( 80000800 );
}}} */
?> ;