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修改版)内含中文注释

Whois 的PHP代码

PHP
Whois 的PHP代码

lol偷钱流符文搭配推荐

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

Whois示例程序

编程语言 网络编程
Whois示例程序

修改一个完全颜色的CListCtrl类

C语言教程 C语言函数
修改一个完全颜色的CListCtrl类

lolAD刺客新符文搭配推荐

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

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

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

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

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