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

yizhihongxing

让我来为你详细讲解“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 编程中很常见,处理二维数组可以实现很多实用的操作,比如排序、转换、去空白等。下面就分别来讲解一下这些操作。 排序二维数组 PHP 为数组提供了很多排序的函数,对于二维数组,我们可以使用 array_multisort() 函数进行排序。 // 假设有一个二维数组 $arr,按照第二列数据进行升序排列 foreach ($arr as $k…

    PHP 2023年5月26日
    00
  • PHP读取Excel类文件

    当涉及到从 Excel 类文件(.xls 或 .xlsx)中读取数据时,PHPExcel 库是一个非常有用的工具。以下是读取 Excel 类文件的步骤: 安装 PHPExcel 库 PHPExcel 库是由 PHP 实现的 PHP 类库。它可以用于创建和读取 Excel 电子表格文件。要安装 PHPExcel 库,可以使用 Composer 进行安装。在终端…

    PHP 2023年5月26日
    00
  • PHP抓屏函数实现屏幕快照代码分享

    下面是关于“PHP抓屏函数实现屏幕快照代码分享”的完整攻略。 什么是PHP抓屏函数? PHP抓屏函数是指通过PHP代码实现获取特定网页或应用程序界面的屏幕截图/快照的功能。具体功能是借助php-gtk开源项目的相关组件实现对窗口的截图操作。 实现PHP抓屏函数的步骤 下面是详细的实现步骤: 步骤一:安装相关组件 要实现PHP抓屏函数,需要安装以下组件: ph…

    PHP 2023年5月26日
    00
  • php实现Mysql简易操作类

    下面是关于“php实现Mysql简易操作类”的攻略,包括实现过程和两个示例说明: 实现Mysql简易操作类 1. 创建数据库连接类 创建一个名为 “DataBase.class.php” 的新文件。在该文件中编写一个名为 “DataBase” 的类。 class DataBase { private $link; //连接变量 public function…

    PHP 2023年5月27日
    00
  • PHP学习之输出字符串(echo,print,printf,print_r和var_dump)

    下面就让我来给大家详细讲解一下“PHP学习之输出字符串(echo、print、printf、print_r和var_dump)”的攻略。 echo命令 我们先来看一下echo命令。echo命令用于输出一个或多个字符串。它的使用非常简单,只需要在echo后面添加你想要输出的字符串即可,例如: <?php echo "Hello World!&q…

    PHP 2023年5月26日
    00
  • php版本的cron定时任务执行器使用实例

    下面我将详细讲解PHP版本的Cron定时任务执行器的使用实例攻略。 什么是Cron定时任务? Cron是一个在Unix和类Unix操作系统下的任务定时器,可以按照指定的时间周期性的执行命令或脚本。而Cron定时任务就是利用Cron来实现周期性地执行某些任务,例如定时备份数据库、定时清理日志文件等。 什么是PHP版本的Cron定时任务执行器? 在PHP中,我们…

    PHP 2023年5月27日
    00
  • php DES加密算法实例分析

    PHP DES加密算法实例分析 什么是DES加密算法? DES(Data Encryption Standard)即数据加密标准,是一种流行的对称加密算法。它的安全性和可靠性已被广泛证实,并被广泛应用于许多不同的领域,例如金融、电子商务等。 DES加密算法使用相同的密钥对数据进行加密和解密,因此它也被称为对称加密算法。在DES加密算法中,数据被分成64位的块…

    PHP 2023年5月26日
    00
  • PHP实现简单登录界面

    下面是PHP实现简单登录界面的详细攻略。 1.前言 在Web开发中,登录界面是一个必不可少的部分,通过用户输入正确的用户名和密码,可以进行身份验证,从而让用户进入网站的其他功能页面。 本文将详细讲解如何使用PHP实现简单的登录界面,包括如何设计用户表、如何使用表单来接收用户的输入、如何使用PHP代码来验证用户的身份以及如何登录成功后跳转到其他页面。 2. 设…

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