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 相关文章推荐
Joomla下利用configuration.php存储简单数据
May 19 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
php快速查找数据库中恶意代码的方法
Apr 01 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
Apr 23 PHP
PHP 出现 http500 错误的解决方法
Mar 09 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
一次编写,随处运行
2006/10/09 PHP
有关php运算符的知识大全
2011/11/03 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
onpropertypchange
2006/07/01 Javascript
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
js Math 对象的方法
2013/09/01 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
财务会计专业毕业生自荐信
2013/10/19 职场文书
服务生自我鉴定
2014/01/22 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
龙门石窟导游词
2015/02/02 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
终止合同协议书范本
2016/03/22 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js