PHP fsockopen WHOIS - PullRequest
       10

PHP fsockopen WHOIS

0 голосов
/ 08 декабря 2011

В настоящее время я пытаюсь подключиться к номинированному сервису whois через fsockopen, но у меня проблема с чтением ответа.

Используемый код:

$fp = fsockopen("whois.nic.uk", 43, $errno, $errstr);

if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
echo "<h1>Connected To The WHOIS Server.</h1>\n\n";
}


fwrite($fp, "madeupdomain.co.uk\r\n");
$lookup = fread($fp, 4096);
fclose($fp);


echo $lookup;

Теперь я успешно подключился кWHOIS-сервер и получает ответ, но он всегда не попадает в конец.

Имя домена: madeupdomain.co.uk Регистрант: Made Up Inc. Тип регистранта: Неизвестный Адрес регистранта: 123 Fake Road City UK Регистратор Великобритании: Составил.t / a Madeup [Tag = MADEUP] URL: http://www.madeupadomain.com Соответствующие даты: Зарегистрирован: 14-Фев-1955 Дата обновления: 11-Фев-2016 Последнее обновление: 11-Фев-2001 Статус регистрации: Зарегистрирован до обновленияДата.Серверы имен: ns1.madeupnamesrver.com ns2.madeupnamesrver.com ns3.madeupnamesrver.com ns4.madeupnamesrver.com Поиск WHOIS, выполненный в 00:00:00 07 декабря 2011 г. - эта информация WHOIS предоставляется бесплатно Nominet UK theцентральный реестр доменных имен .uk.Эта информация и .uk WHOIS являются следующими: Copyright Nominet UK 1996 - 2011. Вы не можете получить доступ к .uk WHOIS или использовать какие-либо данные из него, кроме как в соответствии с условиями использования, доступными в полном объеме по адресу http://www.nominet.org.uk/whois,, который включаетограничения на: (A) использование данных для рекламы или их переупаковку, перекомпиляцию, перераспределение

Как вы можете видеть, что отсутствует последняя часть истинного поиска в Whois, это всегда происходит, но позициягде оно обрезается, меняется в зависимости от того, в какой домен я запрашиваю.

У кого-нибудь есть предложения?

Спасибо.

1 Ответ

3 голосов
/ 08 декабря 2011

Вы только читаете 4096 байт:

fread($fp, 4096);

Если вы хотите прочитать больше, чем это (что вам, очевидно, нужно), просто увеличивайте число или цикл до EOF:

while (!feof($fp)) {
   $contents .= fread($fp, 8192);
}
...