PHP IPwhois类

WBOY
發布: 2016-06-01 14:28:04
原創
1351 人瀏覽過

原来写的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;
?>
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板