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 相关文章推荐
isset和empty的区别
Jan 15 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
Jun 03 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
深入浅出php socket编程
May 13 PHP
php实现编辑和保存文件的方法
Jul 20 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 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 Token(令牌)设计
2008/03/15 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
Python写入数据到MP3文件中的方法
2015/07/10 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
Python 监测文件是否更新的方法
2019/06/10 Python
Python3实现二叉树的最大深度
2019/09/30 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python批量处理txt文件的实例代码
2020/01/13 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
《鱼游到了纸上》教学反思
2014/02/20 职场文书
建筑管理专业求职信
2014/07/28 职场文书
会计做账心得体会
2016/01/22 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
配置nginx负载均衡
2022/05/06 Servers