IPwhois类[PHP]

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-06 19:40:091664ブラウズ

原来写的IPwhois类 ?php /** * *Class:IPWhoisVerson1.0 *Info:GetIP'sinformationform4whoisserver *Author:PhpUpStudiohttp://phpup.com *Date:12/12/2004 * */ class IPWhois { var $server = 'whois.arin.net' ; var $target ; var $timeout = 10 ; var $

原来写的IPwhois类

/**
 *
 * Class : IP Whois Verson 1.0
 * Info : Get IP's information form 4 whois server
 * Author : PhpUp Studio http://phpup.com
 * Date : 12/12/2004
 *
 */
class 
IPWhois
{
        var 
$server 'whois.arin.net'
;
        var 
$target
;
        var 
$timeout 10
;
        var 
$msg
;
        
        function 
IPWhois($target
)
        {
                
$this->target $target
;        
        }
        function 
ShowInfo
()
        {
                if(
$this->_CheckIP($this->target
))
                {
                        
$this->msg $this->_GetInfo($this->server
);
                        if(
$this->_CheckInfo($this->msg
))
                        {
                                
$this->msg $this->_GetInfo($this->server
);
                        }
                }
                else 
$this->msg '

Please Enter An IP Address

';
                
                return 
$this->msg
;        
        }
        function 
_CheckIP($temptarget
)
        {
                if(
eregi("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"$temptarget
))
                {
                        
$f 1
;
                        
$detail explode(".",$temptarget
);
                        foreach(
$detail as $v
)
                        {
                                if(
$v 255 || $v 0
)
                                {
                                        
$f 0
;
                                        break;        
                                }        
                        }
                }
                else 
$f =0
;
                return 
$f
;
        }
        function 
_GetInfo($tempserver
)
        {
                
$this->msg ''
;
                
                if(!
$sock fsockopen($tempserver43$num$error$this->timeout
))
                {
                        unset(
$sock
);
                        
$this->msg "Timed-out connecting to $tempserver (port 43)"
;
                }
                else
                {
                        
fputs($sock"$this->target/n"
);
                        
$this->msg .= "

IP Whois Information For "

.$this->target."

"
;
                        
$this->msg .= "-----------------------------------------------------------------
"
;
                        while (!
feof($sock
))
                                
$this->msg .= fgets($sock10240
); 
                        
$this->msg .= "-----------------------------------------------------------------

";
                }
                
fclose($sock
);
                return 
nl2br($this->msg
);         
        }
        function 
_CheckInfo($tempmsg
)
        {
                if(
eregi("whois.ripe.net"$tempmsg
))
                {
                        
$this->server "whois.ripe.net"
;
                        return 
1
;
                }
                elseif(
eregi("whois.apnic.net"$tempmsg
))
                {
                        
$this->server "whois.apnic.net"
;
                        return 
1
;
                }
                elseif(
eregi("whois.lacnic.net"$tempmsg
))
                {
                        
$this->server "whois.lacnic.net"
;
                        return 
1
;
                }
                else return 
0
;
        }
}
?>

调用

include './class.php';
$target = isset($_GET['ip'])?gethostbyname($_GET['ip']):'NULL'
;
if(
'NULL' == $target || '' == $target)$result '

Please Input An IP Address

';
else
{
        
$whois = new IPWhois($target
);
        
//$result = "IP Whois Information For ".$_POST['ip']."

";
        
$result $whois->ShowInfo
();
}
echo 
$result
;
?>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。