⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 whois.php

📁 网站综合信息查询工具SiteInfoChecker v1.0 飞狐源码站
💻 PHP
📖 第 1 页 / 共 4 页
字号:
  }
  // .jp does not allow 1 and 2 character domain names
  if ($domt==".jp")
  {
    if (strlen($dom)<=2)
      return(0);
  }
  // generic string of allowed characters
 	$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
  if ($domt==".no")
  	$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(225).chr(224).chr(226).chr(231).chr(233).chr(232).chr(234).chr(241).chr(243).chr(242).chr(244).chr(246).chr(252).chr(248).chr(229).chr(230);
  if ($domt==".dk")
  	$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(248).chr(229).chr(230);
  if ($domt==".se")
  	$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(228).chr(229).chr(246).chr(233).chr(252);
  if (($domt==".ch") || ($domt==".li") || ($domt==".de") || ($domt==".at") || ($domt==".com") || ($domt==".net"))
  {
  	$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
  	for ($k=224;$k<=246;$k++)
  	  $validmask=$validmask.chr($k);
  	for ($k=248;$k<=255;$k++)
  	  $validmask=$validmask.chr($k);
  }
  if (strspn($dom, $validmask) != strlen($dom))
    return(0);
  if (($dom[0]=="-") || ($dom[strlen($dom)-1]=="-"))
    return(0);
  return(1);
}

function accentstrtolower($s)
{
	for ($k=0;$k<strlen($s);$k++)
	{
		$c=ord($s[$k]);
		if (($c>=65) && ($c<=90))
			$c=$c+32;
		if (($c>=192) && ($c<=214))
			$c=$c+32;
		if (($c>=216) && ($c<=222))
			$c=$c+32;
		$s[$k]=chr($c);
	}
	return($s);
}

function sendToHost($host,$method,$path,$data,&$buf,$useragent=0)
{
  // Supply a default method of GET if the one passed was empty
  if (empty($method))
  	$method = 'GET';
  $method = strtoupper($method);
  $fp = fsockopen($host,80);
  if ($method == 'GET')
  	$path .= '?' . $data;
  fputs($fp, "$method $path HTTP/1.1\n");
  fputs($fp, "Host: $host\n");
  fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
  fputs($fp, "Content-length: " . strlen($data) . "\n");
  if ($useragent)
  	fputs($fp, "User-Agent: MSIE\n");
  fputs($fp, "Connection: close\n\n");
  if ($method == 'POST')
  	fputs($fp, $data);
  while (!feof($fp))
  	$buf[]=fgets($fp,128);
  fclose($fp);
  return $buf;
}

function sendToHost2($host,$method,$path,$data,&$buf,$useragent=0)
{
  // Reads webpage in one big buffer
  // Supply a default method of GET if the one passed was empty
  if (empty($method))
  	$method = 'GET';
  $method = strtoupper($method);
  $fp = fsockopen($host,80);
  if ($method == 'GET')
  	$path .= '?' . $data;
  fputs($fp, "$method $path HTTP/1.1\n");
  fputs($fp, "Host: $host\n");
  fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
  fputs($fp, "Content-length: " . strlen($data) . "\n");
  if ($useragent)
  	fputs($fp, "User-Agent: MSIE\n");
  fputs($fp, "Connection: close\n\n");
  if ($method == 'POST')
  	fputs($fp, $data);
 	$buf=fread($fp,100000);
  fclose($fp);
  return $buf;
}

function sawhois($dom,$domt,&$regdet)
{
  $regdet="";
  if (!($fh=@fopen("http://www.saudinic.net.sa/cgi-bin/whois.cgi?Domain=".$dom."&Level=".$domt,"r")))
    return(5);
  $buf="";
  while (!feof($fh))
  	$buf[]=fgets($fh,128);
  fclose($fh);
  $fnd=0;
  for ($k=0;$k<count($buf);$k++)
  {
    $buf[$k]=strip_tags($buf[$k]);
    $buf[$k]=trim($buf[$k]);
    $pos=strpos($buf[$k],$dom.$domt);
    $pos2=strpos($buf[$k],"@saudinic.net.sa");
    if ((is_integer($pos)) && (is_integer($pos2)==False))
      $fnd=1;
    if ($fnd==1)
      $regdet[]=$buf[$k];
  }
  $available=0;
  for($index=0;$index<count($regdet);$index++)
  {
    $lne=strtolower($regdet[$index]);
    $pos=strpos($lne,"not registered");
    if (is_integer($pos))
    {
      $available=1;
    }
  }
  if ($available==1)
    return(0); // Domain is not registered
  return(1);
}

function eswhois($dom,$domt,&$regdet)
{
  $regdet="";
  if (!($fh=@fopen("http://ineco.nic.es/cgi-bin/consulta.whois?list=Dominios&key=".$dom.$domt."&tipo=procesar","r")))
    return(5);
  $buf="";
	$buf=fread($fh,100000);
  fclose($fh);
  $buf=eregi_replace("</tr>","\n",$buf);
  $buf=strip_tags($buf);
  $buf2=explode("\n",$buf);
	$blankflag=0;
  for ($k=0;$k<count($buf2);$k++)
  {
    $buf2[$k]=trim($buf2[$k]);
    if (($buf2[$k]!="") && (strlen($buf2[$k])>1))
    {
    	$blankflag=0;
      $regdet[]=$buf2[$k];
    }
    if (($buf2[$k]=="") && ($blankflag==0))
    {
    	$blankflag=1;
      $regdet[]=$buf2[$k];
    }
  }
  $available=0;
  for($index=0;$index<count($regdet);$index++)
  {
    $lne=strtolower($regdet[$index]);
    $pos=strpos($lne,"encontrado");
    if (is_integer($pos))
    {
      $available=1;
    }
  }
  if ($available==1)
    return(0); // Domain is not registered
  return(1);
}

function fmwhois($dom,$domt,&$regdet)
{
  $regdet="";
  if (!($fh=@fopen("http://www.dot.fm/whois.cfm?domain=".$dom.$domt,"r")))
    return(5);
  $buf="";
	$buf=fread($fh,100000);
  fclose($fh);
  $buf=strip_tags($buf);
  $buf2=explode("\n",$buf);
	$blankflag=0;
  for ($k=0;$k<count($buf2);$k++)
  {
    $buf2[$k]=trim($buf2[$k]);
    if (($buf2[$k]!="") && (strlen($buf2[$k])>1))
    {
    	$blankflag=0;
      $regdet[]=$buf2[$k];
    }
    if (($buf2[$k]=="") && ($blankflag==0))
    {
    	$blankflag=1;
      $regdet[]=$buf2[$k];
    }
  }
  $available=0;
	$premium="";
  for($index=0;$index<count($regdet);$index++)
  {
    $lne=strtolower($regdet[$index]);
    $pos=strpos($lne,"no match");
    if (is_integer($pos))
    {
      $available=1;
    }
    $pos=strpos($lne,"1st year registration:");
    if (is_integer($pos))
    {
      $premium=substr($lne,$pos+24,strlen($lne)-$pos-24);
    }
  }
  if ($premium!="")
  {
  	$premium=sprintf("%01.2f",$premium);
    $regdet[]=$premium;
    return(6); // Return available at premium
  }
  if ($available==1)
    return(0); // Domain is not registered
  return(1);
}

function tvwhois($dom,$domt,&$regdet)
{
  $regdet="";
//  if (!($fh=@fopen("http://www.tv/en-def-5e58a43774d2/cgi-bin/multilookup.cgi?domain=".$dom."&tv=1","r")))
  if (!($fh=@fopen("http://www.tv/en-def-1b7db09f553d/cgi-bin/multilookup.cgi?domain=".$dom."&tld=tv&x=25&y=5","r")))
  {
    return(5);
  }
  $buf="";
	do
	{
   $buf1 = fread($fh, 100000);
   if (strlen($buf1) == 0)
   {
       break;
 	 }
   $buf .= $buf1;
	}
 	while (true);
  fclose($fh);
  $buf=strip_tags($buf);
  $pos=strpos($buf,$dom.$domt." is not available");
  if (is_integer($pos))
  {
		$regdet[]=$dom.$domt."  is not available";
	  $regdet[]="Full whois for ".$domt." domains not available";
    return(1);
  }
  $pos=strpos($buf,$dom.$domt."  is available");
  if (is_integer($pos))
  {
		$regdet[]=$dom.$domt." is available";
    return(0);
  }
  $pos=strpos($buf,$dom.$domt."    is an available premium name");
  if (is_integer($pos))
  {
		$regdet[]=$dom.$domt." is an available premium name";
	  $pos=strpos($buf,"$",$pos);
	  $pos2=strpos($buf," ",$pos);
		$premium=substr($buf,$pos+1,$pos2-$pos-1);
	  $premium=eregi_replace(",","",$premium);
  	$premium=sprintf("%01.2f",$premium);
    $regdet[]=$premium;
    return(6);
  }
  return(1);
}

function djwhois($dom,$domt,&$regdet)
{
  $regdet="";
  sendToHost('www.dj-domains.com','post','/chk/index.php','domain_name='.$dom,$buf);
  if (count($buf)==0)
    return(5); // No connection to whois server made
  $available=0;
  $premium=0;
  for ($k=0;$k<count($buf);$k++)
  {
    $pos=strpos(strtolower($buf[$k]),"domain is available");
    if (is_integer($pos))
      $available=1;
    // See if premium domain
    $pos=strpos(strtolower($buf[$k]),"this is a \"premium\" domain name");
    if (is_integer($pos))
      $premium=1;
    // Get premium price
    $pos=strpos(strtolower($buf[$k]),"dname=".$dom."&price=");
    if (is_integer($pos))
    {
	    $pos2=strpos(strtolower($buf[$k]),",",$pos);
      $price=substr($buf[$k],$pos+strlen("dname=".$dom."&price="),$pos2-$pos-strlen("dname=".$dom."&price=")+3);
      $price=strtr($price,",",".");
    }
  }
  // If whois not contactable
  if (($premium==1) && ($available==1))
  {
    $regdet[]="Domain is available at a premium. Price in Euro's is ".$price;
    $regdet[]=$price;
    return(6);
  }
  if ($available==1)
  {
    $regdet[]=$dom.".dj is available";
    return(0);
  }
  if (($available==0) && ($regdet!="*"))
  {
	  sendToHost2('www.dj-domains.com','post','/whois/index.php','whoisdname='.$dom."&action=chk_whois",$buf);
	  $buf=eregi_replace("<br>","\n",$buf);
	  $buf=strip_tags($buf);
	  $buf2=explode("\n",$buf);
    $start=0;
    $finish=0;
    for ($k=0;$k<count($buf2);$k++)
    {
    	if (($start==1) && (trim($buf2[$k])!=""))
      	$regdet[]=$buf2[$k];
	    $pos=strpos(strtolower($buf2[$k]),"result:");
  	  if (is_integer($pos))
				$start=1;
	    $pos=strpos(strtolower($buf2[$k]),"name server:");
  	  if (is_integer($pos))
				$finish=1;
      if (($finish==1) && (trim($buf2[$k])==""))
        break;
    }
  }
  return(1);
}

function bewhois($dom,$domt,&$regdet)
{
  if ($regdet=="*")
  {
	  $regdet="";
	  $connection=@fsockopen("whois.dns.be",4343,$errorno,$errordesc);
	  if ($connection)
	  {
	    fputs($connection,"GET 1.0 $dom\r\n");
	    while(!feof($connection))
	    {
	      $regdet[]=fgets($connection,255);
	    }
	    fclose($connection);
	    if (count($regdet)<2)
	      return(5);
      $registered=1;
	    for($index=0;$index<count($regdet);$index++)
	    {
	      $lne=strtolower($regdet[$index]);
	      $pos=strpos($lne," free");
	      if (is_integer($pos))
        {
	        $registered=0;
          break;
        }
	    }
      return($registered);
	  }
	  else
	    return(5);
  }
  else
  {
	  $regdet="";
	  $connection=@fsockopen("whois.dns.be",43,$errorno,$errordesc);
	  if ($connection)
	  {
	    fputs($connection,$dom.$domt."\r\n");
	    while(!feof($connection))
	    {
	      $regdet[]=fgets($connection,255);
	    }
	    fclose($connection);
	    if (count($regdet)<2)
	      return(5);
      $registered=1;
	    for($index=0;$index<count($regdet);$index++)
	    {
	      $lne=strtolower($regdet[$index]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -