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 相关文章推荐
php面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
PHP 魔术函数使用说明
May 14 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
php实现处理输入转义字符的代码
Nov 08 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
PHP实现的数独求解问题示例
Apr 18 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
python实现无证书加密解密实例
2014/10/27 Python
详细介绍Python中的偏函数
2015/04/27 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
ORACLE第二个十问
2013/12/14 面试题
协议书与合同的区别
2014/04/18 职场文书
干部考察材料范文
2014/12/24 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers