我正在创建一种新型的电子邮件协议,为了做到这一点,我必须为我的域设置一个 SRV DNS 记录。
在推广此协议时,我需要能够发现给定主机是否使用我的系统(如果不回退到旧协议)。
那么,有没有办法使用 PHP 提取 DNS 记录(例如 SRV)而不使用 PECL 扩展或通过 linux 命令行运行它(我已经知道我可以 ob_start() 和 system("host -t SRV hostname" )但我正在寻找更好的方法,如果它存在的话。)
array dns_get_record ( string $hostname [, int $type = DNS_ANY [, array &$authns [, array &$addtl ]]] )
获取与给定主机名关联的 DNS 资源记录。
你考虑过 PEAR::Net_DNS 吗?
http://pear.php.net/package/Net_DNS
据我所知,它使用套接字连接(tcp/udp)并解码解析器数据本身。可用的方法看起来相当广泛。