[LUGOS-PROG] IP -> hostname

Marko Bevc fonzie at kibla.org
Fri Jun 20 08:01:38 CEST 2003


Hmm..evo ti en razred...

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


lp,
Marko
On Wed, 18 Jun 2003, Anze wrote:

> > hja. če bi rad providerja svetujem uporabo kakšnega whois classa za .php
> > in tako preveriš podatke preko whois-a.
> Hvala za odgovor! Whois format na zalost ni standardiziran, tako da je v redu 
> za "hands-on" queryje, ne pa za program. Obstajajo sicer classi, ki izvlecejo 
> informacijo in jo ponudijo v tabelah, ampak nisem nasel nobenega (free), ki 
> bi podpiral .si domene. Ce poznas kaksnega, se priporocam za informacijo...
> 
> LP!
> 
> Anze
> 




More information about the lugos-prog mailing list