Получить IP из DNS без использования gethostbyname? - PullRequest
4 голосов
/ 29 ноября 2010

Функция PHP gethostbyname () , по-видимому, не настраивается, поскольку время ожидания истекло. Я хочу ограничить количество DNS-запросов до 1 секунды или меньше, поскольку это больше показывает проблему и должно игнорироваться.

Итак, есть ли способ сделать DNS-запрос, используя вместо этого сокеты или cURL? Я смог сделать SMTP-запросы, используя потоки PHP, которые сохранили ресурсы сервера, поэтому я собираюсь сделать то же самое с DNS-запросами.

1 Ответ

4 голосов
/ 29 ноября 2010

В комментариях к статье PHP есть несколько параметров для установки / включения тайм-аута:

<?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;
}
?>

http://www.php.net/manual/en/function.gethostbyname.php#92870

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...