ÍøÂçѧԺ w3popÉçÇø ÍøÂç×ÊÔ´ ITÐÂÎÅ

w3pop.com :: ÍøÂçѧԺ :: PHP :: PHPʵÏÖ IP Whois ²éѯ

»áÔ±µÇ½

ÕʺÅ

ÃÜÂë

»Ø´ð

¼ÇסÃÜÂë

Íü¼ÇÃÜÂë? ×¢²á

PHP
php ÎÞÏÞ·ÖÀàµÄʵ..
³£ÓÃPHP´úÂë
windowsϰ²×°ÅäÖ..
MySQLÊý¾Ý¿â½á¹¹º..
PHPʵÏÖ IP Whois..
PHP5 this,selfºÍ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP error_report..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
ʹÓÃPHP×öLinux/U..

PHPʵÏÖ IP Whois ²éѯ


×÷Õß:w3pop.com ·­Òë/ÕûÀí:w3pop.com ·¢²¼:2007-07-18 ä¯ÀÀ:2868 :: ::

    ÓÉÓÚInternetµÄÀúÊ·Ô­Òò£¬apin¸ºÔðÕû¸öÍøÂçIPµÄÕûÌ广»®ÒÔ¼°±±ÃÀÇø »¹Óв¿·Ö·ÇÖÞµØÇøµÄIP·ÖÅä¹ÜÀí£¬Óë´ËÏàÓ¦µÄÊÇ£¬whois.apin.netÊÇIP whoisµÄroot server£¬±ê×¼µÄIP whois²éѯ·½·¨ÊÇ£¬Ê×ÏÈÏòwhois.apin.net²éѯij¸öIPÊôÓÚÄĸö´óÇø£¬È»ºóÔÙÏò¸ÃÇøµÄwhois ·þÎñÆ÷²éѯ´ËIPµÄwhoisÏêϸÐÅÏ¢¡£

      Ŀǰ¸ºÔð IPV4µÄ´óÇø
whois.arin.net ÃÀÖÞÇø ±±ÃÀ
whois.apnic.net ÑÇÌ«Çø °üÀ¨ÑÇÖ޺ͰĴóÀûÑÇ
whois.ripe.net Å·ÖÞÇø Å·ÖÞ/Öж«(Î÷ÑÇ)/±±·Ç
whois.lacnic.net À­ÃÀÇø À­¶¡ÃÀÖ޺ͼÓÀձȺ£ÇøÓò
·ÇÖÞÍøÂçµÄIP²éѯҲÔÚwhois.arin.net
Ïòij¸öwhois·þÎñÆ÷Ìá½»whois²éѯµÄ¹ý³Ì

   ´ò¿ªÒ»¸öµ½whois·þÎñÆ÷µÄ43¶Ë¿ÚµÄÁ¬½Ó£¬È»ºó·¢ËÍÒª²éѯµÄÓòÃû ºÍÒ»¸ö»Ø³µ»»ÐС£Èç¹ûÒª²éѯ¶à¸öÓòÃû£¬ÇëÓÿոñ·Ö¿ªÈ»ºó´ÓsokectÖжÁÈ¡½á¹û¡£×îºó·þÎñÆ÷½«×Ô¶¯¶Ï¿ªÁ¬½Ó¡£

ÓÃPHPʵÏÖ
1.ÑéÖ¤IP(ÓÃ ip2long´úÌæ ereg)
2.Ïò whois.arin.net²éѯ£¬Èç¹ûÊý¾Ý¿âÖÐûÓÐÏà¹ØÐÅÏ¢£¬»á¸ø³öÒ»¸öReferral ServerµÄURL£¬¸ñʽÈçÏÂ
ReferralServer:
È»ºó¸ù¾Ý´ËÐÅÏ¢£¬¼ÌÐø²éѯ

´úÂëÈçÏÂ

whoisip.php

<?php
include_once "lang.inc.php";

$IP = isset($_GET['ip'])?$_GET['ip']:'blank';
if (-1 === ip2long($ip))
die(str_replace('%IP%', $IP, $Text['ip_invalid']));

echo GetWhois($IP);

function GetWhois($IP)
{
global $Text;
$rootwhois = 'whois.arin.net';
$buffer  = str_replace('%SERVER%', $rootwhois, $Text['sock_connect']);
$buffer1 = ReadSocket($rootwhois,$IP);
if ($buffer1 !== '')
{
$whois = SubStrByTag("ReferralServer: whois://","\n",$buffer1);
//remove port number  ":43";
if ( ($pos=strpos($whois,":")) !== FALSE)  
{
$whois = substr($whois, 0,$pos);
}  
if ($whois !== '')
{
$buffer .= str_replace('%SERVER%', $whois, $Text['sock_connect']);
$buffer .= ReadSocket($whois,$IP);
}
else
{
$buffer .= $buffer1;
}
}
return nl2br($buffer);
}

function SubStrByTag($firstTag,$secondTag,&$longStr)
{
$firstPos = strpos ($longStr,$firstTag);
$ret = '';
if ($firstPos !== FALSE)  
{
$secondPos = strpos ($longStr,$secondTag,$firstPos);
if ($secondPos !== FALSE)  
{
$firstPos += strlen($firstTag);
$ret = substr($longStr,$firstPos,$secondPos-$firstPos);
}
}
return $ret;
}

function ReadSocket($whois,$ip)
{
global $Text;
$buffer = '';
if (!$sock = fsockopen( $whois, 43, $errNum, $errStr, 20))
{
$buffer = str_replace('%SERVER%', $whois, $Text['sock_fail']);
}
else
{
fputs($sock,"$ip\n");   
//$buffer = fread($sock, 8192);
while(!feof($sock))        $buffer.=fgets($sock, 8192);
fclose($sock);   
}
return $buffer;
}

?>

ÓïÑÔÎļþ:
lang.inc.php

<?php
$Text = Array(
'ip_invalid'=>'I want to get a valid IP, but it is [%IP%].',
'sock_connect'=>'Ask %SERVER% ...
',
'sock_fail'=>'Cannot connect to the host:%SERVER%'
);

?>

ÆäËûÓÐÃûµÄwhois·þÎñÆ÷

1.Tucows (whois.opensrs.net) Ò»´ÎÖ»ÄÜÒ»¸öÁ¬½Ó
dnsstuff¾ÍÊDzéѯµÄËü

2.BulkRegister (whois.bulkregiter.net) СÐÄËüÁÙʱ·âIP£¬Èç¹û´óÁ¿Á¬½ÓµÄ»°

3.Network Solutions (whois.networksolutions.com) Ò»ÌìÖ»Äܲé1000´Î

4.Go Daddy (whois.godaddy.com)

5.whois.abuse.net

ÆÀÂÛ (0) All