PHP dns_get_record 网络函数
-
定义和用法
dns_get_record - 获取指定主机的DNS记录 -
版本支持
PHP4 PHP5 PHP7 不支持 支持 支持 -
语法
dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl [, bool &$raw = false ]]]] )
获取指定主机(hostname)的DNS记录。 -
参数
参数 必需的 描述 hostname 是 主机名(hostname)应该是一个DNS解析生效的域名,例如“www.example.com”。主机名也可以是通过对逆向解析域做DNS逆向域名解析而得到,但是在大多数情况下gethostbyaddr()更加适合做逆向域名解析。 注意:每个DNS标准,邮件地址必须是user.host这样的格式(例如hostmaster.example.com而不是hostmaster@example.com),在使用mail()这个函数之前请检查这个值,有必要的话还需要修改。
type 否 默认情况下,dns_get_record()将会搜索所有与hostname相关的记录,可以通过设置type来限定查询。type的值可以是下面的其中的任何一个: DNS_A,DNS_CNAME,DNS_HINFO,DNS_MX,DNS_NS,DNS_PTR,DNS_SOA,DNS_TXT,DNS_AAAA,DNS_SRV,DNS_NAPTR,DNS_A6,DNS_ALL或者DNS_ANY。 注意:由于dns在各个平台上表现有些不一样,DNS_ANY不会总是返回所有的记录,DNS_ALL虽然慢一些,但是会得到所有的记录,所以使用DNS_ALL更加可靠些。
authns 否 以引用方式传递,如果写了该参数,那么将会得到该解析记录的DNS服务器(Authoritative Name Servers)的信息。 addtl 否 以引用方式传递,如果填写了该参数,将会得到其他所有的DNS解析记录。 raw 否 在原生模式下,在进行额外的查询的时候之前我们只执行请求的DNS类型,而不是循环查询所有的类型。 -
返回值
这个函数返回一个关联数组,如果失败则 或者在失败时返回 FALSE。每个关联数组都至少包含了以下的这些键。基本DNS属性:- host 其余关联数据所引用的DNS名称空间中的记录。
- class dns_get_record()仅返回Internet类记录,因此此参数将始终返回IN。
- type 包含记录类型的字符串。 根据类型的值,其他属性也将包含在结果数组中。 见下表。
- ttl 该记录剩余的“生存时间”。 这将不等于记录的原始ttl,而是等于原始ttl减去自查询权威名称服务器以来经过的时间长度。
关联数组中的其他键取决于“type”:- A - ip:点分十进制格式的IPv4地址。
- MX - pri:邮件交换器的优先级。数字越小表示优先级越高。目标:邮件交换器的FQDN。另请参见dns_get_mx()。
- CNAME - target:别名记录的DNS名称空间中位置的FQDN。
- NS - target:对该主机名具有权威性的名称服务器的FQDN。
- PTR - target:此记录指向的DNS名称空间中的位置。
- TXT - txt:与此记录关联的任意字符串数据。
- HINFO - cpu:IANA编号,指定此记录引用的计算机的CPU。 os:此记录引用的计算机上指定操作系统的IANA编号。有关这些值的含义,请参见IANA的»操作系统名称。
- SOA - mname:资源记录源自的计算机的FQDN。 rname:此域的管理包含的电子邮件地址。 serial:所请求域的此修订版本的序列号。刷新:更新此域的远程副本时,应该使用辅助名称服务器的刷新间隔(秒)。重试:刷新失败后要进行第二次尝试的等待时间(秒)。 expire:辅助DNS服务器应在不成功刷新之前保留区域数据的远程副本的最长时间(秒),然后再丢弃。 minimum-ttl:客户端可以继续使用DNS解析的最短时间(秒),然后客户端应从服务器请求新的解析。可以被单个资源记录覆盖。
- AAAA - ipv6:IPv6地址
- A6 - masklen:从链指定的目标继承的长度(以位为单位)。 ipv6:该特定记录的地址与链合并。链:父记录以与ipv6数据合并。
- SRV - pri :(优先级)最低优先级应首先使用。权重:按权重排序应随机选择通常优先考虑的目标。目标和端口:可以在其中找到请求的服务的主机名和端口。有关更多信息,请参见:»RFC 2782
- NAPTR - order and pref:等同于上述pri和weight。标志,服务,正则表达式和替换:参数由»RFC 2915定义。
-
示例
尝试一下<?php $result = dns_get_record("cainiaoya.com"); print_r($result);
-