php查询whois信息的方法

5年以前  |  阅读数:833 次  |  编程语言:PHP 

本文实例讲述了php查询whois信息的方法。分享给大家供大家参考。具体如下:

这里使用php通过查询whois信息的网站列表进行查询


    function whois_query($domain) {
      // fix the domain name:
      $domain = strtolower(trim($domain));
      $domain = preg_replace('/^http:\/\//i', '', $domain);
      $domain = preg_replace('/^www\./i', '', $domain);
      $domain = explode('/', $domain);
      $domain = trim($domain[0]);
      // split the TLD from domain name
      $_domain = explode('.', $domain);
      $lst = count($_domain)-1;
      $ext = $_domain[$lst];
      // You find resources and lists 
      // like these on wikipedia: 
      //
      // http://de.wikipedia.org/wiki/Whois
      //
      $servers = array(
        "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:
      if ($conn = fsockopen ($nic_server, 43)) {
        fputs($conn, $domain."\r\n");
        while(!feof($conn)) {
          $output .= fgets($conn,128);
        }
        fclose($conn);
      }
      else { die('Error: Could not connect to ' . $nic_server . '!'); }
      return $output;
    }
    // Some example queries:
    print whois_query('jonasjohn.de');
    print whois_query('example.com');
    print whois_query('example.org');

希望本文所述对大家的php程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例