在不使用 PECL 或 system() 类型函数的情况下,有没有办法使用 PHP 查找 DNS 记录?
我正在致力于创建一种新型电子邮件协议,为此,我必须为我的域设置 SRV DNS 记录。
在推广此协议时,我需要能够发现给定主机是否使用我的系统(如果不使用旧协议)。
那么,有没有一种方法可以使用 PHP 提取 DNS 记录(例如 SRV),而不使用 PECL 扩展或通过 linux 命令行运行它(我已经知道我可以 ob_start() 和 system("host -t SRV hostname" )但我正在寻找更好的方法(如果存在)。)
I'm working on creating a new type of email protocol, and in order to do that I had to set up an SRV DNS record for my domain.
In promoting this protocol, I'll need to be able to discover if a given host uses my system (and if not fall back to an older protocol).
So, is there a way to pull a DNS record (such as SRV) using PHP without using a PECL extension or running it through the linux command line (I already know I can ob_start() and system("host -t SRV hostname") but I'm looking for a better way, if it exists.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 dns_get_record
Use dns_get_record
您考虑过 PEAR::Net_DNS 吗?
http://pear.php.net/package/Net_DNS
据我所知使用套接字连接(tcp/udp)并解码解析器数据本身。可用的方法看起来相当广泛。
Have you considered PEAR::Net_DNS?
http://pear.php.net/package/Net_DNS
As far as I can tell it uses socket connections (tcp/udp) and decodes the resolver data itself. The available methods look pretty extensive.