Пример Whois на PHP

Обращение к Whois-сервису. Простой вариант

<?php
echo '<form method="post">';
echo '<input type="text" name="ip" size="35">';
echo '<input type="submit" value="Введите IP-адрес" 
value="' . htmlspecialchars($_REQUEST['ip']) . '">';
echo '</form>';
 
 
if(!empty($_POST['ip'])) echo whois("whois.arin.net",$_POST['ip']);
 
function whois($url,$ip)
{
  //Соединение с сокетом TCP, ожидающим на сервере "whois.arin.net" по 
  //43 порту. В результате возвращается дескриптор соединения $sock.
  $sock = fsockopen($url, 43, $errno, $errstr);
  if (!$sock) exit("$errno($errstr)");
  else
  {
    echo $url."<br>";
    //Записываем строку из переменной $_POST["ip"] в дескриптор сокета.
    fputs ($sock, $ip."\r\n");
    //Осуществляем чтение из дескриптора сокета.
    $text = "";
    while (!feof($sock))
    {
      $text .= fgets ($sock, 128)."<br>";
    }
    // закрываем соединение
    fclose ($sock);
 
    // Ищем реферальный сервере
    $pattern = "|ReferralServer: whois://([^\n<:]+)|i";
    preg_match($pattern, $text, $out);
    if(!empty($out[1])) return whois($out[1], $ip);
    else return $text;
  }
}

Спасибо за пример Softtime.

Добавить комментарий