Controllo se un nome di dominio è registrato
Domanda
Come potrei fare per verificare se un nome di dominio è registrato? Stavo pensando di controllare se ha un IP corrispondente, ma non sembra funzionare così come avevo sperato. C'è una soluzione sia in PHP o Python che può controllare?
Soluzione
"registrato" non significa "assegnato un indirizzo IP". Per sapere se un nome di dominio è registrato, avrete bisogno di fare una query whois.
Per Python, c'è pywhois , ma dal suo sito web, sembra un po 'immaturo. Si veda anche questa domanda SO .
Per PHP, c'è ... sorpresa ... phpwhois .
Altri suggerimenti
Mike Nott ha creato una semplice classe PHP che permette per interrogare i dati who.is per qualsiasi dominio che si desidera.
Una volta che si chiama
$whois = getwhois($sld, $tld);
È quindi solo bisogno di controllare il contenuto della $whois
per determinare se il dominio è attualmente registrato.
il pacchetto net_whois dalla pera . per molteplici risultati, che possono verificarsi quando i nomi dei server vengono segnalati anche con i nomi di dominio fare qualcosa di simile a:
require_once ¨Net/Whois.php¨;
$whois = new Net_Whois;
$whois->authorative = true;
$data = $whois->query(¨example.com¨);
Per verificare se un nome di dominio è registrato avete bisogno di due informazioni:
- Il server whois per il rispettivo dominio di primo livello (o il dominio di secondo livello)
- Un modello di corrispondenza per la risposta del server whois
Queste informazioni cambiano di frequente. Questo href="https://github.com/whois-server-list/whois-server-list" rel="nofollow"> Whois lista tenta di compilare le informazioni necessarie per più di 500 top domini di primo livello. La lista offre anche un servizio API per verificare se un dominio è disponibile. Il client PHP per tale API sarebbe whois-api-php :
$whoisApi = new whoisServerList\WhoisApi("apiKey");
echo $whoisApi->isAvailable("example.net") ? "available" : "registered";