IPwhois类[PHP]

原来写的IPwhois类

<?php
/**
 *
 * Class : IP Whois Verson 1.0
 * Info : Get IP's information form 4 whois server
 * Author : PhpUp Studio http://phpup.com
 * Date : 12/12/2004
 *
 */
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($tempserver43$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($sock10240
); 
                        
$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
;
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值