Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Un semplice Whois in PHP :: Indice Php

Un semplice Whois in PHP

Categoria: Php Inserito il: 30-05-2007 Stampa (10813 click)

Un Whois è un'applicazione che permette di reperire tutte le informazioni di pubblico dominio riguardanti.. un dominio e per contro anche di sapere se un nome di dominio è al momento disponibile per la registrazioneo meno.

Vi sono tantissime varianti di Whois realizzate nei linguaggi più diversi. Noi proporremo al lettore un Whois realizzato interamente in PHP che ci permetterà di controllare nomi di dominio dotati delle estensioni più diffuse come it, com, org e net.

Riportiamo di seguito il codice del nostro piccolo script, subito dopo ne commenteremo le parti più importanti:

<?php
class get_Whois {

var $server_array = array (
"it" => "whois.nic.it",
"com" => "rs.internic.net",

"net" => "rs.internic.net",
"org" => "whois.pir.org",
);

function show($domain_name) {
$domain_name = strtolower(trim($domain_name));
$dot = strrpos($domain_name, ".");

if (!$dot) {
 return "Formato non corretto per un nome di name.";
 } else {
 $ext = substr($domain_name, $dot + 1);
  if (!array_key_exists($ext,$this->server_array)) {
  return "Impossibile risolvere l'estensione ".$ext;
  }
}

$server = $this->server_array[$ext];
$check_whois = fsockopen($server, 43, $errno, $errstr, 30);

$result = '';
 if (!$check_whois) {
  $result = "$errstr ($errno)";
  } else {
  fputs($check_whois, "$domain_name\r\n");
  $result .= "<pre>\r\n";
   while (!feof($check_whois)) {
   $result .= fread($check_whois,128);
   }
  $result .= "</pre>";
 fclose ($check_whois);
 }
return $result;
}

function extension () {
 $extension_array = array_keys($this->server_array);
 $extension_alw = '';
  for ($i = 0; $i < count($extension_array); $i++) {
  $extension_alw .= ' '.$extension_array [$i];
  }
 return $extension_alw;
 }
}

$whois = new get_Whois();

if (isset($_POST['name'])) { echo 'Dominio ricercato: '.$_POST['name']; echo $whois->show($_POST['name']); unset($whois); } else { ?> <form method=post action="<? echo $_SERVER['PHP_SELF']; ?>"> Nome dominio: <input type="text" name="name"> <br> Estensioni accettate: <? echo $whois->extension() ?> <br> <input type="submit" value="Whois"> </form> <? } ?>

Abbiamo quindi creato una classe all'interno della quale è stato introdotto un array() contenente le estensioni interessate e gli indirizzi dei server attraverso i quali operare le ricerche.

La prima operazione svolta dallo script è quella relativa alla validazione dell'estensione passata come parametro: viene utilizzato il punto come discriminante tra nome ed estensione, quest'ultima deve essere presente nell'array() introddotto all'inizio o il parametro sarà considerato non valido.

Il passaggio più importante riguarda la restituzione dei risultati della ricerca che si ottengono tramite l'istanza della classe che applicherà la funzione in grado di raccogliere i parametro, passarlo ai server Whois e restituire di conseguenza il loro output completo di informazioni.

Di default, in mancanza dell'invio di un paramero, verrà visualizzato il form con il quale effettuare la ricerca.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Numeri casuali in Java
In questo breve articolo mostreremo il codice necessario per la creazione di un'applicazione Java in grado di produrre numeri casuali,... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti