PHP whois查询类定义与用法示例

让我来为你详细讲解“PHP whois查询类定义与用法示例”的完整攻略。

一、什么是 WHOIS?

WHOIS是互联网上一个查询数据库的协议,用于查询域名或IP地址的所有者、管理员、技术联系人等信息。WHOIS服务器保存着域名和IP地址的注册信息,可以通过WHOIS协议查询和检索这些信息。

二、PHP Whois查询类的定义

在PHP环境下可以自己定义一个Whois查询类。这个类主要通过fsockopen()函数向域名的 Whois 服务器发送请求,然后解析 Whois 查询结果并返回。

下面是一个 Whois 查询类的定义:

<?php
class Whois{

    private $server = 'whois.iana.org';   //whois服务器
    private $port = 43;    // 服务端口号
    private $timeout = 10;  // 超时时间

    // 设置whois服务器
    public function setServer($server){
        $this->server = $server;
    }

    // 设置端口号
    public function setPort($port){
        $this->port = $port;
    }

    // 设置超时时间
    public function setTimeout($timeout){
        $this->timeout = $timeout;
    }

    // 获取whois信息
    public function getInfo($domain){
        $sock = fsockopen($this->server, $this->port, $errno, $errstr, $this->timeout);
        if(!$sock){
            return "Socket Error{$errno}-{$errstr}";
        }
        $domain = trim($domain);
        fwrite($sock, $domain."\r\n");
        $output = '';
        while(!feof($sock)){
            $content = fgets($sock);
            $output .= $content;
        }
        fclose($sock);
        return $output;
    }
}
?>

三、PHP Whois查询类的用法示例

下面介绍通过实例使用PHP Whois查询类。假如我们要查询 taobao.com 的 WHOIS 信息,可以通过如下代码实现:

<?php
include 'Whois.class.php';
$whois = new Whois();
$info = $whois->getInfo('taobao.com');
echo $info;
?>

执行PHP代码后将会输出taobao.com的 Whois 信息结果。

另外一个示例,可以使用这个 Whois 查询类来判断一个域名是否可用:

<?php
include 'Whois.class.php';
$whois = new Whois();
$domain = 'test.com';
$info = $whois->getInfo($domain);
if(strpos($info, 'No match for domain') !== FALSE){
    echo "{$domain} is available!";
}else{
    echo "{$domain} is NOT available!";
}
?>

这个示例查询test.com,如果WHOIS信息中包含“No match for domain” 而不是“Domain Name”,则说明该域名未注册,可以使用。

基于上述Whois查询类,你可以基于业务需求重写查询结果的解析处理,以适应不同的需求。

这样,以上就是完整的“PHP Whois查询类定义与用法示例”攻略了。希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP whois查询类定义与用法示例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHP超级全局变量数组小结

    PHP超级全局变量是指能在全局范围内访问的特殊变量数组,其中包括多个变量,以下是它们的摘要: $_SERVER – 包含了诸如头文件、路径和脚本位置之类的信息。下面是一个使用$_SERVER的例子: <?php echo ‘当前的脚本名称: ‘.$_SERVER[‘SCRIPT_NAME’]; ?> $_GET – 包含通过 HTTP GET 方…

    PHP 2023年5月26日
    00
  • php禁用函数设置及查看方法详解

    PHP禁用函数设置及查看方法详解 什么是PHP禁用函数? PHP禁用函数是指在PHP配置文件中将某些函数禁用掉。当我们在使用PHP编写Web应用时,为了保证应用的安全性,我们可能需要限制某些函数的使用,这就需要进行PHP禁用函数设置。 如何设置PHP禁用函数? PHP禁用函数的设置需要修改PHP配置文件php.ini中的配置项,因此需要有管理员权限。而一些虚…

    PHP 2023年5月26日
    00
  • php数组函数array_key_exists()小结

    那么现在让我来给大家详细讲解一下“php数组函数array_key_exists()小结”的完整攻略。 array_key_exists()函数是什么 array_key_exists() 函数用于检查给定的键名或索引是否存在于数组中。 array_key_exists()函数的语法 array_key_exists(key,array) 参数说明: 参数 …

    PHP 2023年5月26日
    00
  • PHP针对中英文混合字符串长度判断及截取方法示例

    下面是详细讲解“PHP针对中英文混合字符串长度判断及截取方法示例”的完整攻略: 1. 判断字符串长度 在 PHP 中,我们可以使用 mb_strlen() 函数来获取中英文混合字符串的长度。该函数支持多种编码格式,可以正确处理中文、日文等需要多个字节表示的字符。 以下是调用 mb_strlen() 函数的示例代码: // 定义一个中英文混合字符串 $str …

    PHP 2023年5月26日
    00
  • php数组中包含中文的排序方法

    对于包含中文的PHP数组排序,有两种不同的方法可以实现,分别是使用array_multisort()函数和usort()函数。 使用array_multisort()函数排序 array_multisort()函数是PHP的一个组合排序函数,可以对多组数据进行排序,本方法需要使用此函数实现。 步骤如下: 1.1 类型转换 由于中文排序和字符串排序不同,需要将…

    PHP 2023年5月26日
    00
  • php中如何使对象可以像数组一样进行foreach循环

    在PHP中,我们可以使用内置类ArrayObject来实现像数组一样遍历对象。以下是实现该功能的步骤: 步骤1:实例化ArrayObject类并在构造函数中传递一个数组作为参数,以将数组转换为可遍历对象 $data = array(‘foo’ => ‘bar’, ‘baz’ => ‘qux’); $obj = new ArrayObject($d…

    PHP 2023年5月26日
    00
  • phpcms V9 常用文件目录结构

    关于”phpcms V9 常用文件目录结构”的详细讲解,以下是完整的攻略: 1.概括 phpcms V9的目录结构主要包括以下几个目录: ├─api # Api目录 │ ├─comment # 评论目录 │ ├─content # 内容目录 │ ├─createhtml # 静态化目录 │ └─search # 搜索目录 ├─attachment # 附件目…

    PHP 2023年5月23日
    00
  • PHP图片加水印实现方法

    下面是“PHP图片加水印实现方法”的详细攻略。 1. 准备工作 在进行加水印操作前,需要确保安装了 PHP 的 GD 库。如果没有安装,可以通过以下命令进行安装: sudo apt-get install php7.2-gd 同时需要准备一张水印图片,该图片可以是 PNG、JPG 或 GIF 格式。我们可以先随便找张图片用于测试。 2. 实现步骤 2.1 打…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部