PHP IPwhois类

WBOY
풀어 주다: 2016-06-01 14:28:04
원래의
1350명이 탐색했습니다.

原来写的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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿