Desenvolvimento

25 mai, 2018

Como criar um sistema de whois em PHP

Publicidade

Fala, pessoal! Tudo certo?

No artigo de hoje vou mostrar pra vocês como eu resolvi um problema que tinha há algum tempo, em relação a criação e verificação de domínios.

Algumas vezes eu tinha que ir até o site whois.com, whois.net ou outro site de busca de domínios para validar se um domínio está registrado ou não. Às vezes é legal, já que esses sites também oferecem a compra do domínio.

Mas – como um bom programador, sou preguiçoso; e ter que entrar num site para depois fazer uma pesquisa e ainda ver uma propaganda, sendo que eu apenas queria ver as informações de um domínio específico para mim era um pouco de perda de tempo. Por isso, fui ver se tinha algo que pudesse implementar na minha linha de comando com PHP mesmo.

E, eis que eu descobri o projeto PHPWhois, onde eu poderia simplesmente usar o $argv[] para passar um domínio pela linha de comando e verificar os dados daquele domínio. Vou mostrar para vocês como é simples de mais implementá-lo.

Criei uma pasta whois e realizei a instalação da biblioteca:

composer require phpwhois/phpwhois

Agora, criamos um arquivo whois.php:

<?php

require_once 'vendor/autoload.php'; //autoload do composer

$whois = new Whois(); //instanciando a classe Whois
$result = $whois->lookup($argv[1]); //realizando a pesquisa ao whois utilizando o segundo argumento do comando PHP como o domínio
print_r($result); //exibindo o resultado (aqui você pode melhorar essa exibição)

E fazendo, por exemplo:

php whois.php google.com

Vemos muitas informações sobre o domínio especificado. Também podemos usar para sites brasileiros, porém, para verificar se o domínio existe ou não, nesse caso, você deverá verificar dentro do nó domain se existe um ou mais nservers definidos, já que a tag registered sempre vem como “no”. Por exemplo, fazendo:

php whois.php pokephp.com.br

Caso não exista a tag nserver, significa que o domínio está disponível. Por exemplo:

php whois.php sitedopokemao.com.br

Você consegue com esse script de cinco linhas verificar muitos dados de domínios de modo fácil e rápido. E, como eu só precisava verificar se o domínio estava registrado ou não, resolveu facilmente esse problema.

Espero que tenham gostado e até a próxima!