Php 不使用gethostbyname从DNS获取IP?
就超时而言,PHP函数似乎不可配置。我想将DNS请求限制在1秒或更短的时间内,因为这样会出现问题,应该忽略 那么,有没有办法使用套接字或cURL进行DNS查询呢?我能够使用节省服务器资源的PHP流发出SMTP请求,因此我希望对DNS查询也能这样做。上的注释有一些设置/包括超时的选项:Php 不使用gethostbyname从DNS获取IP?,php,sockets,dns,Php,Sockets,Dns,就超时而言,PHP函数似乎不可配置。我想将DNS请求限制在1秒或更短的时间内,因为这样会出现问题,应该忽略 那么,有没有办法使用套接字或cURL进行DNS查询呢?我能够使用节省服务器资源的PHP流发出SMTP请求,因此我希望对DNS查询也能这样做。上的注释有一些设置/包括超时的选项: <?php function getAddrByHost($host, $timeout = 3) { $query = `nslookup -timeout=$timeout -retry=1 $ho
<?php
function getAddrByHost($host, $timeout = 3) {
$query = `nslookup -timeout=$timeout -retry=1 $host`;
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
return trim($matches[1]);
return $host;
}
?>
@Xeoncross:这可能是你最好的选择。否则,您可以查看RFC()的
4.2节,了解如何发送您自己的数据包