Home  >  Article  >  Backend Development  >  PHP IPwhois类

PHP IPwhois类

WBOY
WBOYOriginal
2016-06-01 14:28:041351browse

原来写的ipwhois类

 /*
*
* 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 = '

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                  {
                     $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 .= "

IP Whois Information For ".$this->target."

";
             $this->msg .= "-----------------------------------------------------------------
";
             while (!feof($sock))
                 $this->msg .= fgets($sock, 10240);
             $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;
?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn