<?php
$domain = "yoba.org" ;
$site = whois_query( $domain ) ; # получаем whois-запись
preg_match ( "!^\s*Domain Name:\s+([\w\.]+)\b!im" , $site , $matches ) ; # извлекаем адрес whois-сервера $server = $matches [ 1 ] ;
preg_match ( "!^\s*Whois Server:\s+([\w\.]+)\b!im" , $site , $matches ) ; # извлекаем адрес whois-сервера $server = $matches [ 1 ] ;
preg_match ( "!^\s*Expiration Date:\s+([\w\-]+)\b!im" , $site , $matches ) ; # извлекаем дату истечения срока домена $expiry = $matches [ 1 ] ;
$exptime = strtotime ( $expiry ) ; # вычисляем количество дней до окончания срока $expdays = round ( ( $exptime - time ( ) ) / 84600 ) ; $expiry = date ( "d/m/Y" , $exptime ) ;
print "$domain   " ;
print "$server   " ;
print "$expiry   " ;
print "days: $expdays " ; /**/
function whois_query( $domain ) {
// fix the domain name:
$domain = trim ( $domain [ 0 ] ) ;
// split the TLD from domain name
$lst = count ( $_domain ) - 1 ; $ext = $_domain [ $lst ] ;
// You find resources and lists
// like these on wikipedia:
//
// http://d...content-available-to-author-only...a.org/wiki/Whois
//
"biz" => "whois.neulevel.biz" ,
"com" => "whois.internic.net" ,
"us" => "whois.nic.us" ,
"coop" => "whois.nic.coop" ,
"info" => "whois.nic.info" ,
"name" => "whois.nic.name" ,
"net" => "whois.internic.net" ,
"gov" => "whois.nic.gov" ,
"edu" => "whois.internic.net" ,
"mil" => "rs.internic.net" ,
"int" => "whois.iana.org" ,
"ac" => "whois.nic.ac" ,
"ae" => "whois.uaenic.ae" ,
"at" => "whois.ripe.net" ,
"au" => "whois.aunic.net" ,
"be" => "whois.dns.be" ,
"bg" => "whois.ripe.net" ,
"br" => "whois.registro.br" ,
"bz" => "whois.belizenic.bz" ,
"ca" => "whois.cira.ca" ,
"cc" => "whois.nic.cc" ,
"ch" => "whois.nic.ch" ,
"cl" => "whois.nic.cl" ,
"cn" => "whois.cnnic.net.cn" ,
"cz" => "whois.nic.cz" ,
"de" => "whois.nic.de" ,
"fr" => "whois.nic.fr" ,
"hu" => "whois.nic.hu" ,
"ie" => "whois.domainregistry.ie" ,
"il" => "whois.isoc.org.il" ,
"in" => "whois.ncst.ernet.in" ,
"ir" => "whois.nic.ir" ,
"mc" => "whois.ripe.net" ,
"to" => "whois.tonic.to" ,
"tv" => "whois.tv" ,
"ru" => "whois.ripn.net" ,
"org" => "whois.pir.org" ,
"aero" => "whois.information.aero" ,
"nl" => "whois.domain-registry.nl"
) ;
if ( ! isset ( $servers [ $ext ] ) ) { die ( 'Error: No matching nic server found!' ) ; }
$nic_server = $servers [ $ext ] ;
$output = '' ;
// connect to whois server:
fputs ( $conn , $domain . "\r \n " ) ; $output .= fgets ( $conn , 128 ) ; }
}
else { die ( 'Error: Could not connect to ' . $nic_server . '!' ) ; }
return $output ;
}
echo "<pre>\n " . $site . "\n </pre>\n " ;
?>
PD9waHAKCiRkb21haW4gPSAieW9iYS5vcmciOwokc2l0ZSA9IHdob2lzX3F1ZXJ5KCRkb21haW4pOyAjINC/0L7Qu9GD0YfQsNC10Lwgd2hvaXMt0LfQsNC/0LjRgdGMCgpwcmVnX21hdGNoKCIhXlxzKkRvbWFpbiBOYW1lOlxzKyhbXHdcLl0rKVxiIWltIiwgJHNpdGUsICRtYXRjaGVzKTsgIyDQuNC30LLQu9C10LrQsNC10Lwg0LDQtNGA0LXRgSB3aG9pcy3RgdC10YDQstC10YDQsAokc2VydmVyID0gJG1hdGNoZXNbMV07CgpwcmVnX21hdGNoKCIhXlxzKldob2lzIFNlcnZlcjpccysoW1x3XC5dKylcYiFpbSIsICRzaXRlLCAkbWF0Y2hlcyk7ICMg0LjQt9Cy0LvQtdC60LDQtdC8INCw0LTRgNC10YEgd2hvaXMt0YHQtdGA0LLQtdGA0LAKJHNlcnZlciA9ICRtYXRjaGVzWzFdOwoKcHJlZ19tYXRjaCgiIV5ccypFeHBpcmF0aW9uIERhdGU6XHMrKFtcd1wtXSspXGIhaW0iLCAkc2l0ZSwgJG1hdGNoZXMpOyAjINC40LfQstC70LXQutCw0LXQvCDQtNCw0YLRgyDQuNGB0YLQtdGH0LXQvdC40Y8g0YHRgNC+0LrQsCDQtNC+0LzQtdC90LAKJGV4cGlyeSA9ICRtYXRjaGVzWzFdOwoKJGV4cHRpbWUgPSBzdHJ0b3RpbWUoJGV4cGlyeSk7ICMg0LLRi9GH0LjRgdC70Y/QtdC8INC60L7Qu9C40YfQtdGB0YLQstC+INC00L3QtdC5INC00L4g0L7QutC+0L3Rh9Cw0L3QuNGPINGB0YDQvtC60LAKJGV4cGRheXMgPSByb3VuZCgoJGV4cHRpbWUgLSB0aW1lKCkpIC8gODQ2MDApOwokZXhwaXJ5ID0gZGF0ZSgiZC9tL1kiLCAkZXhwdGltZSk7CgpwcmludCAiJGRvbWFpbiAgJiMxNjA7ICI7CnByaW50ICIkc2VydmVyICAmIzE2MDsgIjsKcHJpbnQgIiRleHBpcnkgICYjMTYwOyAgIjsKcHJpbnQgImRheXM6ICRleHBkYXlzIjsgLyoqLwoKZnVuY3Rpb24gd2hvaXNfcXVlcnkoJGRvbWFpbikgewogCiAgICAvLyBmaXggdGhlIGRvbWFpbiBuYW1lOgogICAgJGRvbWFpbiA9IHN0cnRvbG93ZXIodHJpbSgkZG9tYWluKSk7CiAgICAkZG9tYWluID0gcHJlZ19yZXBsYWNlKCcvXmh0dHA6XC9cLy9pJywgJycsICRkb21haW4pOwogICAgJGRvbWFpbiA9IHByZWdfcmVwbGFjZSgnL153d3dcLi9pJywgJycsICRkb21haW4pOwogICAgJGRvbWFpbiA9IGV4cGxvZGUoJy8nLCAkZG9tYWluKTsKICAgICRkb21haW4gPSB0cmltKCRkb21haW5bMF0pOwogCiAgICAvLyBzcGxpdCB0aGUgVExEIGZyb20gZG9tYWluIG5hbWUKICAgICRfZG9tYWluID0gZXhwbG9kZSgnLicsICRkb21haW4pOwogICAgJGxzdCA9IGNvdW50KCRfZG9tYWluKS0xOwogICAgJGV4dCA9ICRfZG9tYWluWyRsc3RdOwogCiAgICAvLyBZb3UgZmluZCByZXNvdXJjZXMgYW5kIGxpc3RzIAogICAgLy8gbGlrZSB0aGVzZSBvbiB3aWtpcGVkaWE6IAogICAgLy8KICAgIC8vIGh0dHA6Ly9kLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5hLm9yZy93aWtpL1dob2lzCiAgICAvLwogICAgJHNlcnZlcnMgPSBhcnJheSgKICAgICAgICAiYml6IiA9PiAid2hvaXMubmV1bGV2ZWwuYml6IiwKICAgICAgICAiY29tIiA9PiAid2hvaXMuaW50ZXJuaWMubmV0IiwKICAgICAgICAidXMiID0+ICJ3aG9pcy5uaWMudXMiLAogICAgICAgICJjb29wIiA9PiAid2hvaXMubmljLmNvb3AiLAogICAgICAgICJpbmZvIiA9PiAid2hvaXMubmljLmluZm8iLAogICAgICAgICJuYW1lIiA9PiAid2hvaXMubmljLm5hbWUiLAogICAgICAgICJuZXQiID0+ICJ3aG9pcy5pbnRlcm5pYy5uZXQiLAogICAgICAgICJnb3YiID0+ICJ3aG9pcy5uaWMuZ292IiwKICAgICAgICAiZWR1IiA9PiAid2hvaXMuaW50ZXJuaWMubmV0IiwKICAgICAgICAibWlsIiA9PiAicnMuaW50ZXJuaWMubmV0IiwKICAgICAgICAiaW50IiA9PiAid2hvaXMuaWFuYS5vcmciLAogICAgICAgICJhYyIgPT4gIndob2lzLm5pYy5hYyIsCiAgICAgICAgImFlIiA9PiAid2hvaXMudWFlbmljLmFlIiwKICAgICAgICAiYXQiID0+ICJ3aG9pcy5yaXBlLm5ldCIsCiAgICAgICAgImF1IiA9PiAid2hvaXMuYXVuaWMubmV0IiwKICAgICAgICAiYmUiID0+ICJ3aG9pcy5kbnMuYmUiLAogICAgICAgICJiZyIgPT4gIndob2lzLnJpcGUubmV0IiwKICAgICAgICAiYnIiID0+ICJ3aG9pcy5yZWdpc3Ryby5iciIsCiAgICAgICAgImJ6IiA9PiAid2hvaXMuYmVsaXplbmljLmJ6IiwKICAgICAgICAiY2EiID0+ICJ3aG9pcy5jaXJhLmNhIiwKICAgICAgICAiY2MiID0+ICJ3aG9pcy5uaWMuY2MiLAogICAgICAgICJjaCIgPT4gIndob2lzLm5pYy5jaCIsCiAgICAgICAgImNsIiA9PiAid2hvaXMubmljLmNsIiwKICAgICAgICAiY24iID0+ICJ3aG9pcy5jbm5pYy5uZXQuY24iLAogICAgICAgICJjeiIgPT4gIndob2lzLm5pYy5jeiIsCiAgICAgICAgImRlIiA9PiAid2hvaXMubmljLmRlIiwKICAgICAgICAiZnIiID0+ICJ3aG9pcy5uaWMuZnIiLAogICAgICAgICJodSIgPT4gIndob2lzLm5pYy5odSIsCiAgICAgICAgImllIiA9PiAid2hvaXMuZG9tYWlucmVnaXN0cnkuaWUiLAogICAgICAgICJpbCIgPT4gIndob2lzLmlzb2Mub3JnLmlsIiwKICAgICAgICAiaW4iID0+ICJ3aG9pcy5uY3N0LmVybmV0LmluIiwKICAgICAgICAiaXIiID0+ICJ3aG9pcy5uaWMuaXIiLAogICAgICAgICJtYyIgPT4gIndob2lzLnJpcGUubmV0IiwKICAgICAgICAidG8iID0+ICJ3aG9pcy50b25pYy50byIsCiAgICAgICAgInR2IiA9PiAid2hvaXMudHYiLAogICAgICAgICJydSIgPT4gIndob2lzLnJpcG4ubmV0IiwKICAgICAgICAib3JnIiA9PiAid2hvaXMucGlyLm9yZyIsCiAgICAgICAgImFlcm8iID0+ICJ3aG9pcy5pbmZvcm1hdGlvbi5hZXJvIiwKICAgICAgICAibmwiID0+ICJ3aG9pcy5kb21haW4tcmVnaXN0cnkubmwiCiAgICApOwogCiAgICBpZiAoIWlzc2V0KCRzZXJ2ZXJzWyRleHRdKSl7CiAgICAgICAgZGllKCdFcnJvcjogTm8gbWF0Y2hpbmcgbmljIHNlcnZlciBmb3VuZCEnKTsKICAgIH0KIAogICAgJG5pY19zZXJ2ZXIgPSAkc2VydmVyc1skZXh0XTsKIAogICAgJG91dHB1dCA9ICcnOwogCiAgICAvLyBjb25uZWN0IHRvIHdob2lzIHNlcnZlcjoKICAgIGlmICgkY29ubiA9IGZzb2Nrb3BlbiAoJG5pY19zZXJ2ZXIsIDQzKSkgewogICAgICAgIGZwdXRzKCRjb25uLCAkZG9tYWluLiJcclxuIik7CiAgICAgICAgd2hpbGUoIWZlb2YoJGNvbm4pKSB7CiAgICAgICAgICAgICRvdXRwdXQgLj0gZmdldHMoJGNvbm4sMTI4KTsKICAgICAgICB9CiAgICAgICAgZmNsb3NlKCRjb25uKTsKICAgIH0KICAgIGVsc2UgeyBkaWUoJ0Vycm9yOiBDb3VsZCBub3QgY29ubmVjdCB0byAnIC4gJG5pY19zZXJ2ZXIgLiAnIScpOyB9CiAKICAgIHJldHVybiAkb3V0cHV0Owp9CgoKCmVjaG8gIjxwcmU+XG4iIC4gJHNpdGUgLiAiXG48L3ByZT5cbiI7CgoKCj8+