php 获取域名的whois 信息

  • 首先先了解几个文件操作函数:
  • fwrite() 函数写入文件(可安全用于二进制文件)。

fwrite() 把 string 的内容写入文件指针 file 处。 如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。 fwrite() 返回写入的字符数,出现错误时则返回 false。

  <?php
  $file = fopen("test.txt","w");
  echo fwrite($file,"Hello World. Testing!");
  fclose($file);
  ?>
  • feof(file) 函数检测是否已到达文件末尾 (eof)。

如果文件指针到了 EOF 或者出错时则返回 TRUE, 否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。 file 参数是一个文件指针。这个文件指针必须有效,并且必须指向一个由 fopen() 或 fsockopen() 成功打开(但还没有被 fclose() 关闭)的文件。
  提示:feof() 函数对遍历长度未知的数据很有用。
  注意:如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回 TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。
  注意:如果传递的文件指针无效可能会陷入无限循环中,因为 EOF 不会返回 TRUE。

  <?php
  $file = fopen("test.txt", "r");
  //输出文本中所有的行,直到文件结束为止。
  while(! feof($file)){
  echo fgets($file). "<br />";
  }W
  fclose($file);
  ?>
  • fputs() 函数写入文件(可安全用于二进制文件)。fputs() 函数是 fwrite() 函数的别名。

fputs(file,string,length)

  <?php
  $file = fopen("test.txt","w");
  echo fputs($file,"Hello World. Testing!");
  fclose($file);
  ?>
  • fgets() 从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。若失败,则返回 false。
  <?php
  $file = fopen("test.txt","r");
  while(! feof($file))
  {
  echo fgets($file). "<br />";
  }
  fclose($file);
  ?>
  • fgetss() 函数从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记。与 fgets() 相同,不同的是 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。

fgetss(file,length,tags)    可以用可选的第三个参数 tags 指定哪些标记不被去掉。若失败,则返回 false。

  <?php
  $file = fopen("test.htm","r");
  echo fgetss($file,1024,"<p>,<b>");
  fclose($file);
  ?>

以下是获取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;
}

$domain = ‘www.qiangbi.net/a.html‘;
$output = whois_query($domain);
print_r($output);
时间: 2024-09-30 00:52:25

php 获取域名的whois 信息的相关文章

Godaddy域名因为whois信息虚假被暂时关闭

如果你收到来自 Godadddy 通过 [email protected] 发出的标题为如下内容的邮件: [Incident ID: xxxx] xxxx - DS Invalid Whois - Invalid Whois 1st Notice – Response Required 请务必如果处理方式: 1. 完善域名的联系人信息,确保正确,但也不用太较真 2. 回复邮件,大概回复内容如下即可 My whois information has been updated and correct

通过PowerShell获取域名whois信息

Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商.域名注册日期和过期日期等).通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间.通常情况下,whois信息均为真实信息,通过whois信息可以找到域名注册人的很多真实信息,像电话,邮箱,NS记录,是对网站进行社工非常好的信息来源,对于安全从业人员来说,快速获取whois信息,能够帮助自己掌握目标网站的很多有用信息. 而whois信息通常是保存在各级域名注册

微信网页授权认证获取用户的详细信息,实现自动登陆-微信公众号开发干货

原创声明:本文为本人原创作品,绝非他处转账,转载请联系博主 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出.下载地址:web开发工具下载 开发文档:https://mp.weixin.qq.com/wiki

微信公众号开发之网页授权认证获取用户的详细信息,实现自动登陆

原创声明:本文转来源本人另一博客[http://blog.csdn.net/liaohaojian/article/details/70175835]绝非他人处转载 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入

Environment类,获取程序所在机器信息

一.属性 CommandLine  获取该进程的命令行.CurrentDirectory 获取或设置当前工作目录的完全限定路径.ExitCode 获取或设置进程的退出代码.HasShutdownStarted 获取一个值,该值指示公共语言运行时 (CLR) 是否正在关闭.Is64BitOperatingSystem  确定当前操作系统是否为 64 位操作系统.Is64BitProcess 确定当前进程是否为 64 位进程.MachineName  获取此本地计算机的 NetBIOS 名称.New

ASP.NET获取请求的url信息汇总

ASP.NET获取请求的url信息汇总 最近做项目需要处理一个用代码获取当前网站的域名或ip信息的问题,于是尝试了ASP.NET中各种获取url信息的方法,在此总结一下: 在Global.asax文件中的 Application_BeginRequest 方法中,加入以下代码,利用日志文件记录各种方法得到的信息 HttpApplication app = sender as HttpApplication; logger.Debug("Request.ApplicationPath:"

.NET C#获取当前网页地址信息

设当前页完整地址是:http://www.qiandabao.com/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名"www.qiandabao.com"是域名"aaa"是站点名"bbb.aspx"是页面名(文件名)"id=5&name=kelli"是参数[1]获取 完整url (协议名+域名+站点名+文件名+参数) string url=Request

JAVA根据IP地址获取详细的地域信息

在系统中网站的头部一般都有显示是哪个城市的用户进入到网站的首页后默认城市应该是用户本地的城市信息例如北京网站就要根据你的IP地址的信息查询数据获取北京部分的数据呵呵当然我可能描述的不是很清楚但是可以理解成通过IP地址定位地理信息就行.很多人现在使用以QQ数据库为基础获取地址信息但不完整.而且不规范.互联网提供很多其他接口可以完成这项功能. 接口如下 通过淘宝IP地址库获取IP位置 1. 请求接口GEThttp://ip.taobao.com/service/getIpInfo.php?ip=[i

java获取客户端登陆地址信息(国家、省份、城市等)

原文:java获取客户端登陆地址信息(国家.省份.城市等) 源代码下载地址:http://www.zuidaima.com/share/1550463687658496.htm /** * @param urlStr * 请求的地址 * @param content * @author www.zuidaima.com * 请求的参数 格式为:name=xxx&pwd=xxx * @param encoding * 服务器端请求编码.如GBK,UTF-8等 * @return */ privat