源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

WHOIS类的修改版

  • 时间:2021-10-01 22:46 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要: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($ptr>0):   $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",$array[$i])):   $this->ERROR++;   $this->FOUND=0;   break;   endif;   $i++;   endwhile;   fclose($ptr);   if($this->DATA_COUNT>$this->DATA_MIN): return($array);   else:   $this->ERROR++;   endif;   else:   $this->ERROR++;   endif;   }   }; $myWHOIS=new whois(); $thisname=$servername.$domainname; // 根据国内域名或国际域名选择WHOIS SERVER if (ereg(".cn$",$thisname)) { $myWHOIS->WHOIS_SERVER="whois.cnnic.net.cn"; $array=$myWHOIS->cnrawlookup($thisname,$myWHOIS->WHOIS_SERVER); } else { $myWHOIS->WHOIS_SERVER="whois.internic.net"; //$myWHOIS->WHOIS_SERVER="whois.networksolutions.com"; $array=$myWHOIS->rawlookup($thisname,$myWHOIS->WHOIS_SERVER); } echo " ".$thisname." "; echo ""; $x=0; while ($x { echo " $x "; echo " $array[$x] "; $x++; } echo "   "; if (!ereg(".cn$",$thisname)) { echo " Furth infomation "; $array_further=$myWHOIS->rawlookup($thisname,$myWHOIS->NEW_WHOIS); echo ""; $x=0; while ($x { echo " $x "; echo " $array_further[$x] "; $x++; } echo "   "; } ?>   
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部