原来写的IPwhois类
<?php
/*
*
* Класс: IP Whois версии 1.0.
* Информация: Получите информацию об IP-адресе формы 4 whois-сервера.
* Автор: PhpUp Studio.
* Дата: 12.12.2004.
* www.knowsky.com
*
*/
класс IPWhois
{
вар $server = 'whois.arin.net';
вар $ цель;
вар $ тайм-аут = 10;
вар $msg;
функция IPWhois($target)
{
$this->target = $target;
}
функция ПоказатьИнформацию()
{
if($this->_CheckIP($this->target))
{
$this->msg = $this->_GetInfo($this->server);
если ($this->_CheckInfo($this->msg))
{
$this->msg = $this->_GetInfo($this->server);
}
}
else $this->msg = '<p>Пожалуйста, введите IP-адрес<br></p>';
верните $this->msg;
}
функция _CheckIP($temptarget)
{
if(eregi("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}", $temptarget))
{
$ф = 1;
$detail = взорваться(".",$temptarget);
foreach($detail как $v)
{
если($v > 255 || $v <0)
{
$ф = 0;
перерыв;
}
}
}
иначе $f =0;
вернуть $f;
}
функция _GetInfo($tempserver)
{
$this->msg = '';
if(!$sock = fsockopen($tempserver, 43, $num, $error, $this->timeout))
{
не установлено ($ носок);
$this->msg = "Истекло время ожидания подключения к $tempserver (порт 43)";
}
еще
{
fputs($sock, "$this->targetn");
$this->msg .="<p>Информация Whois IP для <b>".$this->target."</b><br><br>";
$this->msg .= "------------------------------------------ -----------------------<BR>";
пока (!feof($sock))
$this->msg .= fgets($sock, 10240);
$this->msg .= "------------------------------------------ -----------------------<BR></p>";
}
fclose ($ носок);
вернуть nl2br($this->msg);
}
функция _CheckInfo($tempmsg)
{
if(eregi("whois.ripe.net", $tempmsg))
{
$this->server = "whois.ripe.net";
возврат 1;
}
elseif(eregi("whois.apnic.net", $tempmsg))
{
$this->server = "whois.apnic.net";
возврат 1;
}
elseif(eregi("whois.lacnic.net", $tempmsg))
{
$this->server = "whois.lacnic.net";
возврат 1;
}
иначе вернуть 0;
}
}
?>
调用
<?php
включить './class.php';
$target = isset($_GET['ip'])?gethostbyname($_GET['ip']):'NULL';
if('NULL' == $target || '' == $target)$result = '<p>Введите IP-адрес<br></p>';
еще
{
$whois = новый IPWhois($target);
//$result = "Информация Whois IP для <b>".$_POST['ip']."</b><br><br>";
$result = $whois->ShowInfo();
}
эхо $результат;
?>