Существует ли способ эмулировать 'whois' инструмент с помощью php?

Просто удалите свойство высоты элемента body и добавьте height: 100% в html

* { box-sizing: border-box; }

html { 
  height: 100% 
}

body {  
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0; 
}

.container {
  display: flex;
  align-items: center;
  justify-content: center;
  background: red;
}

.content {
  background: yellow;
  height: 2000px;
  width: 100px;
}

.footer {
  height: 50px;
  background-color: blue;
}

Исправлено: https://codepen.io/ferreirandre/pen/maoVvb [ 115]

Не стесняйтесь играть с высоты .content

5
задан damnitshot 17 February 2009 в 10:05
поделиться

3 ответа

Можно использовать API PHP Whois. Это предоставит Вам доступ ко всем записям whois. Для использования той функции существует ссылка у основания той страницы к классу. Удостоверьтесь, что Вы включаете это также.

5
ответ дан 13 December 2019 в 22:17
поделиться

Можно попытаться выполнить его в системе, например, предположении, что Вы используете Linux, и Вам установили/usr/bin/whois lib затем, можно выполнить php использование php должностного лица

<?php exec("/usr/bin/whois $strDomain",$arrOutPut);?>

Это будет работать, только если php позволяют использовать исполнительную функцию на Вашем сервере и удостовериться, что проверил аргументы, переданные команде... может закончиться ужасный для машины.

Кроме того, можно попытаться использовать API

  1. http://www.nott.org/blog/php-whois-script.html
  2. http://www.tevine.com/projects/whois/
3
ответ дан 13 December 2019 в 22:17
поделиться

Вот тот, который я записал только что с помощью простого приема (не перечисляя все whois серверы). Я преобразовал его из Perl, и это находится также в C# и COM-объекте также.

Это не делает всех whois поисков, поскольку некоторые доменные регистры являются жадным *&! $ и хотят, чтобы Вы заплатили за поиск или сохранили его частным. Существуют детали об этом на странице.

Обновление
Вот код для сохранения Вас загрузка. Я записал это с помощью PHP 3.x, таким образом, некоторое массирование для PHP5 могло бы быть необходимо:

class Whois
{
    /*
     * Optional parameter for the server to be used for the lookup.
     * If this is not set, an appropriate whois server for the domain name
     * specified is automagically found by the Whois class. 
     * @type string
     * @access public
     */
    var $whois_server;
    /*
     * The timeout, in seconds, for the lookup. Default is 30. 
     * @type integer
     * @access public
     */
    var $timeout = 30;

    /*
     * Returns a string, with new-lines (\n) converted to non-breaking spaces (&lt;BR&gt;),
     * with details for the domain specified by $domain. 
     * @access public
     * @param string $domain the domain to lookup, excluding http:// and www
     * @return string the results of the whois
     */
    function lookup($domain)
    {
        $result = "";
        $parts  = array();
        $host   = "";

        // .tv don't allow access to their whois
        if (strstr($domain,".tv"))
        {
            $result = "'.tv' domain names require you to have an account to do whois searches.";
        // New domains fix (half work, half don't)
        } elseif (strstr($domain,".name") || strstr($domain,".pro") >0){
            $result = ".name,.pro require you to have an account to do whois searches.";
        } else{
            if (empty($this->whois_server))
            {
                $parts    = explode(".",$domain);
                $testhost = $parts[sizeof($parts)-1];
                $whoisserver   = $testhost . ".whois-servers.net";
                $this->host     = gethostbyname($whoisserver);
                $this->host     = gethostbyaddr($this->host);

                if ($this->host == $testhost)
                {
                    $this->host = "whois.internic.net";
                }
                flush();
            }
            $whoisSocket = fsockopen($this->host,43, $errno, $errstr, $this->timeout);

            if ($whoisSocket)
            {
                fputs($whoisSocket, $domain."\015\012");
                while (!feof($whoisSocket))
                {
                    $result .= fgets($whoisSocket,128) . "<br>";
                }
                fclose($whoisSocket);
            }
        }
        return $result;
    }
}

Использование в качестве примера

$whois = new Whois();
echo "<B>compaq.it</B><BR>";
echo $whois->lookup("compaq.it");
echo "<HR>";
1
ответ дан 13 December 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: