PHP whois客户端查询的实现代码

发布时间:2019-09-21编辑:脚本学堂
本文介绍下,php实现的一个whois客户端查询的代码,类似万网或时代互联那样的whois域名查询。有需要的朋友参考下吧。

分享一段代码,可用于查询指定域名服务器的域信息,即whois信息查询。

Whois协议(由RFC3912定义)可能是最简单的互联网协议之一。
事实上,whois客户端需要打开TCP连接到端口43,发送查询,发送CR-LF(“ R N”不变),然后接收响应。

代码:
 

复制代码 代码示例:

<?php
/**
* whois信息查询
* by www.jb200.com
*/
function ae_whois($query, $server)
{
    define('AE_WHOIS_TIMEOUT', 15); // connection timeout
    global $ae_whois_errno, $ae_whois_errstr;

    // connecting
    $f = fsockopen($server, 43, $ae_whois_errno, $ae_whois_errstr, AE_WHOIS_TIMEOUT);
    if (!$f)
        return false; // connection failed

    // sending query   
    fwrite($f, $query."rn");

    // receving response
    $response = '';
    while (!feof($f))
        $response .= fgets($f, 1024);

    // closing connection
    fclose($f);

    return $response;
}
?>
 

以上代码,实现了一个whois查询函数,包括两个参数$query(whois查询信息)、$server(域名服务器)。
该函数返回服务器的响应信息,失败则返回false。
fsockopen错误代码与错误消息,将写入到全局变量$ae_whois_errno与$ae_whois_errstr中。
大家可以更改常量AE_WHOIS_TIMEOUT来设置查询超时时间。

例子,用于获取域名jb200.com的域名服务器信息。
代码:
 

复制代码 代码示例:
<?php
// whois 信息查询
echo ae_whois('jb200.com', 'whois.verisign-grs.com');
?>

您可能感兴趣的文章:
PHP获取域名的几个全局变量
php 实现dns域名查询的方法详解(图文)
php 从url中获取域名的实例代码
php获取站点的来路域名的方法
探讨:PHP获取域名及域名IP地址的方法
php获取URL中domain域名的代码一例
PHP正则匹配获取URL中域名的代码
PHP获取当前网址及域名的代码
php正则表达式匹配URL中的域名
PHP调用万网接口实现域名查询的功能