php查询whois信息的方法


Posted in PHP onJune 08, 2015

本文实例讲述了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 相关文章推荐
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
php MYSQL 数据备份类
Jun 19 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
php中设置多级目录session的问题
Aug 08 PHP
解析PHP提交后跳转
Jun 23 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
Yii获取当前url和域名的方法
Jun 08 #PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 #PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 #PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 #PHP
php比较相似字符串的方法
Jun 05 #PHP
浅谈PHP接收POST数据方式
Jun 05 #PHP
php显示时间常用方法小结
Jun 05 #PHP
You might like
php执行sql语句的写法
2009/03/10 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
js实现上传图片之上传前预览图片
2013/03/25 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
理解javascript模块化
2016/03/28 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
React 组件间的通信示例
2018/06/14 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
微信小程序实现watch监听
2020/06/04 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
精神文明单位申报材料
2014/05/02 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
担保书怎么写 ?
2019/04/22 职场文书
PHP基本语法
2021/03/31 PHP