disign | PHP: whois nomi a dominio | a digital sign for a best design!
A digital sign for a best design

Articolo stampato da http://disign.improntedigitali.it/php-whois-nomi-a-dominio-442-2-1.html

© Luca Frassineti

Programmazione 5.817 visualizzazioni

PHP: whois nomi a dominio

29/10/2012

Stanchi di far mile ricerche sui whois per sapere se un dominio è registrato e conoscere eventualmente date di scadenza e registranti?

Con php possiamo farci un nostro piccolo script di interrogazione personale.

Il codice fornito va integrato con un form attraverso cui fornire dinamicamente il nome  a dominio su cui effettuare l'interrogzione.

Come si vede lo script è preimpostato anche per ricavare informazioni di diversi domini nazionali, e può esser integrato nella parte array indicando estensione e server da interrogare.

Questo il codice:

 

    function whois_query($domain) {
    
    $domain = strtolower(trim($domain));
    $domain = preg_replace('/^https:\/\//i', '', $domain);
    $domain = preg_replace('/^www\./i', '', $domain);
    $domain = explode('/', $domain);
    $domain = trim($domain[0]);
    
    $_domain = explode('.', $domain);
    $lst = count($_domain)-1;
    $ext = $_domain[$lst];
    
    $servers = array(
    "biz" => "whois.neulevel.biz",
    "com" => "whois.internic.net",
    "us" => "whois.nic.us",
    "coop" => "whois.nic.coop",
    "info" => "whois.nic.info",
    "name" => "whois.nic.name",
    "net" => "whois.internic.net",
    "gov" => "whois.nic.gov",
    "edu" => "whois.internic.net",
    "mil" => "rs.internic.net",
    "int" => "whois.iana.org",
    "ac" => "whois.nic.ac",
    "ae" => "whois.uaenic.ae",
    "at" => "whois.ripe.net",
    "au" => "whois.aunic.net",
    "be" => "whois.dns.be",
    "bg" => "whois.ripe.net",
    "br" => "whois.registro.br",
    "bz" => "whois.belizenic.bz",
    "ca" => "whois.cira.ca",
    "cc" => "whois.nic.cc",
    "ch" => "whois.nic.ch",
    "cl" => "whois.nic.cl",
    "cn" => "whois.cnnic.net.cn",
    "cz" => "whois.nic.cz",
    "de" => "whois.nic.de",
    "fr" => "whois.nic.fr",
    "hu" => "whois.nic.hu",
    "ie" => "whois.domainregistry.ie",
    "il" => "whois.isoc.org.il",
    "in" => "whois.ncst.ernet.in",
    "ir" => "whois.nic.ir",
    "it" => "whois.nic.it",
    "mc" => "whois.ripe.net",
    "to" => "whois.tonic.to",
    "tv" => "whois.tv",
    "ru" => "whois.ripn.net",
    "org" => "whois.pir.org",
    "aero" => "whois.information.aero",
    "nl" => "whois.domain-registry.nl"
    );
    
    if (!isset($servers[$ext])){
    die('Error: No matching nic server found!');
    }
    
    $nic_server = $servers[$ext];
    
    $output = '';
    
    if ($conn = fsockopen ($nic_server, 43)) {
    fputs($conn, $domain."\r\n");
    while(!feof($conn)) {
    $output .= fgets($conn,128);
    }
    fclose($conn);
    }
    else { die('Errore: Non riesco a connettermi a ' . $nic_server . '!'); }
    $output = nl2br($output);
    return $output;
    }
   
    echo whois_query("dominio.tld");

   

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 


Questo sito è totalmente privo di pubblicità, se volete sostenere questa inziativa, potete scegliere di fare una piccola donazione libera:


© 2009 - 2024 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.