您的位置主页 > PHP

PHP IPwhois类

原来写的IPwhois类
 <?php/*** Class : IP Whois Verson 1.0* Info : Get IP's information form 4 whois server* Author : PhpUp Studio* Date : 12/12/2004* <A href="http://www.knowsky.com">www.knowsky.com</A>**/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 = '<p>Please Enter An IP Address<br></p>';                                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($tempserver, 43, $num, $error, $this->timeout))                {                        unset($sock);                        $this->msg = "Timed-out connecting to $tempserver (port 43)";                }                else                {                        fputs($sock, "$this->target\n");                        $this->msg .= "<p>IP Whois Information For <b>".$this->target."</b><br><br>";                        $this->msg .= "-----------------------------------------------------------------<BR>";                        while (!feof($sock))                                $this->msg .= fgets($sock, 10240);                         $this->msg .= "-----------------------------------------------------------------<BR></p>";                }                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;        }}?>
调用
<?phpinclude './class.php';$target = isset($_GET['ip'])?gethostbyname($_GET['ip']):'NULL';if('NULL' == $target || '' == $target)$result = '<p>Please Input An IP Address<br></p>';else{        $whois = new IPWhois($target);        //$result = "IP Whois Information For <b>".$_POST['ip']."</b><br><br>";        $result = $whois->ShowInfo();}echo $result;?>