WHOIS类的修改版

露美胸

露美胸

2016-01-29 14:49

WHOIS类的修改版,WHOIS类的修改版
  1、简化了代码。(其实就是去掉了一些用不着的变量的定义)
2、针对从INTERNIC检索到的信息过于简单,根据INTERNIC反馈的信息中的WHOIS SERVER进行进一步查询。比如,YAHOO在whois.networksolutions.com上有更详细的信息。

class whois {  

var $use_cache = 1;  
var $FROM_CACHE=0;  
var $cache_dir = "./"; // 根据你的系统自己设置

var $port = 43;  
var $MAXLEN = 100;  

// 如果你想在连接失败后自动重试,
// 设置重试次数 $MAX_RETRIES
var $MAX_RETRIES = 0;  
var $SLEEP_VAL = 1;  
var $RETRY = 0;  

var $FOUND = 0; // 查询没有结果,次值为0
var $ERROR = 0; // 查询过程中的出错次数
var $DATA_MIN = 8; // 我们至少应该获得8个字节的数据
var $DATA_COUNT = 0;  

var $WHOIS_SERVER;
var $NEW_WHOIS;
var $FURTHER_INFO = 0;


// 打开和WHOIS SERVER的SOCKET连接
// 默认的是 whois.internic.net  
function connect ($server) {
$this-RETRY=0;
while($this-RETRY <= $this-MAX_RETRIES):
$ptr = fsockopen($server, $this-port);  
if($ptr0):  
$this-ERROR=0; // just in case we're on a retry  
return($ptr);  
else:  
$this-ERROR++;  
$this-RETRY++;  
sleep($this-SLEEP_VAL);  
endif;  
endwhile;  
}  

// 获取简单的查询结果,并以行为单位,放入数组
// 国际域名查询
function rawlookup ($query, $server) {

if(!$query):  
return( "");  
endif;

$ptr=$this-connect($server);

if($ptr):  
if(!ereg($query, "n$")):  
$query .= "n";  
endif;  
fputs($ptr, "$query");  
$i=0;  
$this-FOUND=1;  
while(!feof($ptr)):  
$array[$i]=fgets($ptr,$this-MAXLEN);  
$this-DATA_COUNT+=strlen(chop($array[$i]));  
if(eregi( "No match for", $array[$i]) || eregi ("No entries found", $array[$i])):  
$this-FOUND=0;  
elseif(eregi( "WHOIS database is down",$array[$i])):  
$this-ERROR++;  
$this-FOUND=0;  
elseif(eregi( "Please wait a while and try again",$array[$i])):  
$this-ERROR++;  
$this-FOUND=0;  
break;  
endif;  
if(eregi("Whois Server:",$array[$i])):
$this-NEW_WHOIS=trim(substr(trim($array[$i]),(strlen(trim($array[$i]))-13)*(-1)));
$this-FURTHER_INFO=1;
endif;
$i++;  
endwhile;  

fclose($ptr);  

if($this-DATA_COUNT$this-DATA_MIN):
return($array);  
else:  
$this-ERROR++;  
endif;  
else:  
$this-ERROR++;  
endif;
}  


// 国内域名查询
function cnrawlookup ($query, $server) {  
if(!$query):  
return( "");  
endif;  

$ptr=$this-connect($server);  
if($ptr):  
if(!ereg($query, "n$")):  
$query .= "n";  
endif;  
fputs($ptr, "$query");  
$i=0;  
$this-FOUND=1;  
while(!feof($ptr)):  
$array[$i]=fgets($ptr,$this-MAXLEN);  
$this-DATA_COUNT+=strlen(chop($array[$i]));  
if(eregi( "No match for", $array[$i]) || eregi ("No entries found", $array[$i])):  
$this-FOUND=0;  
elseif(eregi( "WHOIS database is down",$array[$i])):  
$this-ERROR++;  
$this-FOUND=0;  
elseif(eregi( "Please wait a while and try again&q
展开更多 50%)
分享

猜你喜欢

WHOIS类的修改版

PHP
WHOIS类的修改版

怎么做正宗脆皮蛋糕(修改版)好吃

烘焙 烘焙食谱
怎么做正宗脆皮蛋糕(修改版)好吃

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

模拟城市我是市长修改版刷钱攻略

模拟城市 单机游戏
模拟城市我是市长修改版刷钱攻略

简单的职工管理系统(V1.1修改版)内含中文注释

编程语言 网络编程
简单的职工管理系统(V1.1修改版)内含中文注释

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎么做八寸戚风(后蛋法修改版)好吃

烘培食谱
怎么做八寸戚风(后蛋法修改版)好吃

怎样做八寸戚风(后蛋法修改版)最好吃

电脑网络
怎样做八寸戚风(后蛋法修改版)最好吃

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《全民打怪兽》辅助刷金币钻石攻略

《全民打怪兽》辅助刷金币钻石攻略

vBulletin HACK----关于排版的两个HACK

vBulletin HACK----关于排版的两个HACK
下拉加载更多内容 ↓