查询

dns_get_record()函数—用法及示例

「 获取指定域名的 DNS 记录 」


函数名称:dns_get_record()

适用版本:PHP 4, PHP 5, PHP 7

函数用途:dns_get_record() 函数用于获取指定域名的 DNS 记录。它可以返回一个数组,包含了指定域名的各种类型的 DNS 记录,如 A、MX、CNAME、NS等。

语法:dns_get_record(string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl [, bool &$raw = FALSE ]]]]) : array|false

参数解析:

  • $hostname:必需。指定的域名,例如"example.com"。
  • $type:可选。指定要获取的 DNS 记录类型,默认为DNS_ANY,可以是下面这些常量之一:DNS_A (IPv4 地址记录), DNS_CNAME (别名记录), DNS_HINFO (主机信息记录), DNS_MX (邮件交换记录), DNS_NS (域名服务器记录), DNS_PTR (反向 IP 查找记录), DNS_SOA (权威查询记录 SOA), DNS_TXT (文本记录)。此外,还有一些其他的 DNS 记录类型,可以参考官方文档。
  • $authns:可选。如果函数成功执行,将该参数填充为权威 DNS 服务器的名称。
  • $addtl:可选。如果函数成功执行,将该参数填充为附加的 DNS 服务器信息。
  • $raw:可选。如果指定为TRUE,则函数返回的 DNS 记录为原始形式。

返回值:返回一个包含指定域名的各种类型的 DNS 记录的数组,如果解析失败,则返回FALSE

示例:

$hostname = "example.com";
$recordA = dns_get_record($hostname, DNS_A);
$recordMX = dns_get_record($hostname, DNS_MX);
$recordNS = dns_get_record($hostname, DNS_NS);
$recordCNAME = dns_get_record($hostname, DNS_CNAME);

var_dump($recordA);
var_dump($recordMX);
var_dump($recordNS);
var_dump($recordCNAME);

输出示例:

array(2) {
  [0]=>
  array(5) {
    ["host"]=>
    string(11) "example.com"
    ["type"]=>
    string(1) "A"
    ["ip"]=>
    string(13) "93.184.216.34"
    ["class"]=>
    string(2) "IN"
    ["ttl"]=>
    int(359)
  }
  // ...
}

array(1) {
  [0]=>
  array(5) {
    ["host"]=>
    string(11) "example.com"
    ["type"]=>
    string(2) "MX"
    ["pri"]=>
    int(10)
    ["target"]=>
    string(8) "mail2go."
    ["class"]=>
    string(2) "IN"
  }
}

array(2) {
  [0]=>
  array(5) {
    ["host"]=>
    string(11) "example.com"
    ["type"]=>
    string(2) "NS"
    ["target"]=>
    string(12) "a.iana-sns."
    ["class"]=>
    string(2) "IN"
    ["ttl"]=>
    int(172858)
  }
  // ...
}

array(1) {
  [0]=>
  array(5) {
    ["host"]=>
    string(11) "example.com"
    ["type"]=>
    string(5) "CNAME"
    ["target"]=>
    string(7) "example"
    ["class"]=>
    string(2) "IN"
    ["ttl"]=>
    int(86400)
  }
}

以上示例展示了使用dns_get_record()函数获取指定域名"example.com"的A、MX、NS和CNAME记录的用法。根据不同的记录类型,返回的数组中包含不同的字段信息,如主机名、类型、IP地址、优先级等。

补充纠错
上一个函数: DocResult::fetchOne()函数
下一个函数: DocResult::getWarnings()函数
热门PHP函数
分享链接