WEB开发网
开发学院WEB开发PHP PHP IPwhois类 阅读

PHP IPwhois类

 2005-06-22 16:18:16 来源:WEB开发网   
核心提示:原来写的ipwhois类 <?php/*** Class : IP Whois Verson 1.0* Info : Get IP's information form 4 whois server* Author : PhpUp Studio* Date : 12/12/2004* www.cncms.

原来写的ipwhois类

 <?php
/*
*
* Class : IP Whois Verson 1.0
* Info : Get IP's information form 4 whois server
* Author : PhpUp Studio
* Date : 12/12/2004
* www.cncms.com
*
*/
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;
     }
}
?>

调用

<?php
include './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;
?>

Tags:PHP IPwhois

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接