How to check domain age using php

Hello, I was wondering if there is a good way to find out what the age of a particular domain is.

But I want to find a way to do this programmatically, asking DNS to check the domain age using php, and not from an online tool.

I am searching the Internet to find out how Google checks the age of a domain and other SEO tools.

Is this information private to a domain where you must have special permissions to ask what age domains are? And if so? Why does google know my domain? no one asked me about age domains. Why do they know this?

+5
source share
5 answers

WHOIS, RFC3912:

$ whois stackoverflow.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Domain Name: STACKOVERFLOW.COM
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com
   Name Server: NS1.SERVERFAULT.COM
   Name Server: NS2.SERVERFAULT.COM
   Name Server: NS3.SERVERFAULT.COM
   Status: clientDeleteProhibited
   Status: clientRenewProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Updated Date: 30-nov-2010
   Creation Date: 26-dec-2003
   Expiration Date: 26-dec-2014

   [...]
+3

Whois.

PHPWhois: PHP whois, whois , IP- AS- .

+4

php script -?

-, , . 500 .

+2

WHOIS TLD DNS.

com/net whois.internic.net " ". TLD WHOIS, DNS- "country-code.whois-servers.net". WHOIS BSD Linux WHOIS .

, , WHOIS IP-.

PHPWhois.

+1

PHP script ,

class DomainAge{

  private $WHOIS_SERVERS=array(

  "com"=>array("whois.verisign-grs.com","/Creation Date:(.*)/"),

  "net"=>array("whois.verisign-grs.com","/Creation Date:(.*)/"),

  "org"=>array("whois.pir.org","/Created On:(.*)/"),

  "info"=>array("whois.afilias.info","/Created On:(.*)/"),

  "biz"=>array("whois.neulevel.biz","/Domain Registration Date:(.*)/"),

  "us"=>array("whois.nic.us","/Domain Registration Date:(.*)/"),

  "uk"=>array("whois.nic.uk","/Registered on:(.*)/"),

  "ca"=>array("whois.cira.ca","/Creation date:(.*)/"),

  "tel"=>array("whois.nic.tel","/Domain Registration Date:(.*)/"),

  "ie"=>array("whois.iedr.ie","/registration:(.*)/"),

  "it"=>array("whois.nic.it","/Created:(.*)/"),

  "cc"=>array("whois.nic.cc","/Creation Date:(.*)/"),

  "ws"=>array("whois.nic.ws","/Domain Created:(.*)/"),

  "sc"=>array("whois2.afilias-grs.net","/Created On:(.*)/"),

  "mobi"=>array("whois.dotmobiregistry.net","/Created On:(.*)/"),

  "pro"=>array("whois.registrypro.pro","/Created On:(.*)/"),

  "edu"=>array("whois.educause.net","/Domain record activated:(.*)/"),

  "tv"=>array("whois.nic.tv","/Creation Date:(.*)/"),

  "travel"=>array("whois.nic.travel","/Domain Registration Date:(.*)/"),

  "in"=>array("whois.inregistry.net","/Created On:(.*)/"),

  "me"=>array("whois.nic.me","/Domain Create Date:(.*)/"),

  "cn"=>array("whois.cnnic.cn","/Registration Date:(.*)/"),

  "asia"=>array("whois.nic.asia","/Domain Create Date:(.*)/"),

  "ro"=>array("whois.rotld.ro","/Registered On:(.*)/"),

  "aero"=> array("whois.aero","/Created On:(.*)/"),

  "nu"=> array("whois.nic.nu","/created:(.*)/")
  );

  public function age($domain)
  {

  $domain = trim($domain);

  if(substr(strtolower($domain), 0, 7) == "http://") 

  $domain = substr($domain, 7); // remove http:// if included

  if(substr(strtolower($domain), 0, 4) == "www.") 

   $domain = substr($domain, 4);//remove www from domain

  if(preg_match("/^([-a-z0-9]{2,100}).([a-z.]{2,8})$/i",$domain))
  {

  $domain_parts = explode(".", $domain);

  $tld = strtolower(array_pop($domain_parts));

  if(!$server=$this->WHOIS_SERVERS[$tld][0]) {

  return false;

  }

  $res=$this->queryWhois($server,$domain);

  if(preg_match($this->WHOIS_SERVERS[$tld][1],$res,$match))

  {

  date_default_timezone_set('UTC');

  $time = time() - strtotime($match[1]);

  $years = floor($time / 31556926);

  $days = floor(($time % 31556926) / 86400);

  if($years == "1") {$y= "1 year";

}
  else 

{
$y = $years . " years";
}
  if($days == "1") {$d = "1 day";
}
  else 
{
$d = $days . " days";
}
  return "$y, $d";

 }
  else

  return false;
}
  else

  return false;

}

  private function queryWhois($server,$domain)

  {

  $fp = @fsockopen($server, 43, $errno, $errstr, 20) or die("Socket Error " 
  . $errno . " - " . $errstr);

if($server=="whois.verisign-grs.com")

$domain="=".$domain;

  fputs($fp, $domain . "rn");
  $out = "";

  while(!feof($fp)){

  $out .= fgets($fp);

  }
  fclose($fp);

  return $out;
  }

}
+1
source

All Articles