试试看这个判断ICQ是否在线的代码好用吗?

发表于:2007-07-01来源:作者:点击数: 标签:
? function get_status($uin) { $fp = fsockopen (wwp.i cq .com, 80, $errstr, 30); if(!$fp) { echo $errstr ($errno)br\n; } else { fputs($fp, GET /scripts/online.dll?icq=$uinquot;); $do = @#yes@#; while(!feof($fp)) { $line = fgets ($fp,128); $d
<?  
function get_status($uin)
{  
    $fp = fsockopen ("wwp.icq.com", 80, &$errno, &$errstr, 30);  
    if(!$fp)
    {  
        echo "$errstr ($errno)<br>\n";  
    }
    else
    {
        fputs($fp, "GET /scripts/online.dll?icq=$uin&img=5 HTTP/1.0\n\n");  
        $do = @#yes@#;  
        while(!feof($fp))
        {
            $line = fgets ($fp,128);
            $do = ($do == @#yes@#)?@#yes@#:(eregi("^GIF89", $line))?@#yes@#:@#no@#;
            //echo $line;
            
            if($do == @#yes@#)
            {
                if(ereg("@", $line))
                {
                    return @#online@#;  
                }
                elseif(ereg("醱", $line))
                {  
                    return @#offline@#;  
                }
                elseif(ereg("S", $line))
                {
                    return @#disabled@#;  
                }
            }
            
        }
        fclose($fp);  
    }  
    return @#unknown!@#;  
}


$uin="72485936";  // sonymusic 的ICQ,呵呵。
echo get_status($uin);
// offline
// HTTP/1.0 200 OK Content-type: image/gif GIF89a(幵觮R瑴螗#%醱` ?0? 靦?Wb??缒unknown
// online
// HTTP/1.0 200 OK Content-type: image/gif GIF89a(幵觮R 瑴螗#%?@ ?0?U靦?WB??鐒unknown
?>  

原文转自:http://www.ltesting.net