本版版主招募中

 
标题: 简易域名查询的代码
黄叶
技术专家
Rank: 14Rank: 14Rank: 14Rank: 14



UID 1004
精华 5
积分 57
帖子 93
活跃指数 0
LU金币 5406 个
LU金条 0 个
阅读权限 200
注册 2003-10-26
 
发表于 2003-10-29 16:33  资料  个人空间  短消息  加为好友 
< ?php
//引用文件servers.inc.php
//此文件里有关于一些服务器的定义
require("serviers.inc.php");

//whois服务器的端口
$PORT = 43;

//最大重试次数
$MAX_RETRIES = 5;

//两次重试之间的时间间隔
$SLEEP_TIME = 2;

//定义一个函数找出服务器
function GetServer($domain)
{
global $servers;

$match = "";

while ( list($tld, $server) = each($servers) )
{

while ( list($tld, $server) = each($servers) )
{
if (eregi("\.$tld$", $domain)) {
$match = $server;
return $match;
}
}

return $match;
}


//连接到whois服务器
function Connect($server)
{
global $RETRY, $PORT, $SLEEP_TIME;

if ( $server == "" ) {
return -1;
}

//重试复位
$retry = 0;
while ( $retry <= $RETRY )
{
$prt = fsockopen($server, $PORT);
if ( $prt > 0 ) {
return $prt;
} else {
$retry++;
sleep($SLEEP_TIME);
}
}

return -1;
}

//whois查询
function LookupWhois($domainname)
{

$server = GetServer($domainname);

if ( empty($server) ) {
$result = "没有与该域名匹配的whois服务器";
return $result;
}

$prt = Connect($server);

if ( $prt == -1 ) {
$result = "无法连接到whois服务器$server";
return $result;
}

$query = sprint("%s\r\n", trim($domainname));

fputs($prt, $query);

$temp = "以下是whois服务器返回的信息,可用正则表达式处理一下:\n";

while ( !feof($prt) )
{
$temp .= fgetc($prt);

{
$temp .= fgetc($prt);
}

return nl2br($temp);
}

? >

关于文件servers.inc.php,这个文件太长了。
等我全部搞出来了。再贴上。

顶部
 



当前时区 GMT+8, 现在时间是 2008-11-23 19:51
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.053206 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver