Here's one I've written qualche tempo fa utilizzando un trucco semplice (senza elencare tutti i server whois). L'ho convertito da Perl, ed è anche in C# e anche un oggetto COM.
Non esegue tutte le ricerche whois poiché alcuni registar del dominio sono avidi * &! $ E vogliono che paghiate per la ricerca, o mantenetelo privato. Ci sono dettagli a riguardo nella pagina.
Aggiornamento
Ecco il codice per il download. L'ho scritto in PHP 3.x quindi potrebbe essere necessario un po 'di massaggio per 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 (<BR>),
* 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;
}
}
Esempio di utilizzo
$whois = new Whois();
echo "<B>compaq.it</B><BR>";
echo $whois->lookup("compaq.it");
echo "<HR>";
fonte
2009-02-17 10:19:17
Il proprietario del sito ha rimosso la 'classe'. –
Aggiornato per includere una nuova classe. – Sam152
http://www.nott.org/uploads/whois.class.php.txt è un 404 –