VB - domain whois

droidman

Power Member
Boa noite, ando aqui a toa com um projecto que queria fazer, algo simples (de inicio) mas que talvez por alguma ignorância da minha parte se está a começar a tornar difícil de resolver, eu ando a procura de um site ou empresa, que tenha um servico que me diga se um dominio esta livre ou nao. por exemplo, escrevia no programa numa textbox o dominio banana.com e ele so dizia numa listbox se o dominio estava livre, ou nao.
encontrei um site de uma empresa, muito lento, que faz algo parecido, o site é whois.com e quando esta indisponível redirecciona para uma página que é a seguinte:
Código:
http://www.whois.com/EasyDomainSearch.aspx?isavailable=no
O problema é que eu nao sei utilizar o
Código:
http://www.whois.com/EasyDomainSearch.aspx?
fiz uma visita ao meu etheral e mesmo assim nao cheguei la parece que aquilo usa cookies e percebo pouco disso..
alguem conhece um site mais simples de trabalhar e que nao empene tanto, ou, caso saiba, me possa dizer como utilizar este aspx da whois.com
 
Não sei se é isto que queres, mas usar o Whois da RIPE ou da ARIN não te serve?
Whois techzonept.com (81.92.219.234)
RIPE: http://www.ripe.net/perl/whois?searchtext=81.92.219.234
ARIN: http://ws.arin.net/cgi-bin/whois.pl?queryinput=81.92.219.234 (neste caso aponta para o RIPE)

Se não é isto, então eu é que percebi mal e peço desculpa :x

infelizmente esse whois nao me parece dar, parece que so funciona com ips ou coisa do genero, ele nem reconhece o google.com
mas mto obrigado nao conhecia este servico
mais alguem sabe alguma empresa do genero? nao quero tar a pagar software a uma empresa qualquer ja encontrei software k faz isto e é mto caro
 
Hmmm ... só precisas de fazer um DNS Lookup primeiro, para saber qual o IP associado ao domínio. Foi o que fiz para saber que o IP do Techzone é o 81.92.219.234 :P

Quando tiver tempo posso procurar alguma coisa em VB que faça o DNSLookup, mas entretanto se estiveres disposto a isso, vai à linha de comandos e faz
nslookup www.techzonept.com

(sim, sem o "d").

Assim ficas com o IP. Depois usa-lo no(s) site(s) que mencionei acima.

Se quiseres, passa por www.planetsourcecode.com e procura lá por DNS Lookup, que deves arranjar qualquer coisita ;)

Cumprimentos
angelofwisdom
 
Hmmm ... só precisas de fazer um DNS Lookup primeiro, para saber qual o IP associado ao domínio. Foi o que fiz para saber que o IP do Techzone é o 81.92.219.234 :P

Quando tiver tempo posso procurar alguma coisa em VB que faça o DNSLookup, mas entretanto se estiveres disposto a isso, vai à linha de comandos e faz
nslookup www.techzonept.com

(sim, sem o "d").

Assim ficas com o IP. Depois usa-lo no(s) site(s) que mencionei acima.

Se quiseres, passa por www.planetsourcecode.com e procura lá por DNS Lookup, que deves arranjar qualquer coisita ;)

Cumprimentos
angelofwisdom

Não quero parecer mal agradecido mas axo um pouco complicado e nao me pareceu muito certo. por exemplo, o dominio num69.com que é meu e esta para venda mas isso nao vem ao acaso, se lhe fizeres um whois com este site, nao mostra nada em concreto se esta ou nao registado nem o meu nome mostra, e em www.who.is aparece td bem.
nao quero fazer ninguem perder mto tempo mas se isto fosse para fazer whois de 2 ou 3 dominios manualmente eu tinha a solucao, a ideia é fazer de 300 ou 400 e dizer os k tao livres
 
Última edição:
Sorry :x devo estar a perceber mal a questão.

Experimenta isto:
http://reports.internic.net/cgi/whois?whois_nic=num69.com&type=domain
E trocas o num69.com para outro domínio qualquer.

edit - acho que o teu nome apenas aparece porque o who.is deve perguntar ao GoDaddy quem é o registrar. É que um query no próprio GoDaddy até me dá a tua morada :P

edit 2 - http://www.whois.net/whois_new.cgi?d=NUM69&tld=com acho que é algo assim que pretendes. Se não for, desisto :D

sim este ja é um whois normal, agora, o problema é o seguinte, como implementar isto, ou outro sistema de whois em VB de forma a automatizar o programa, para ele pegar numa lista, e dizer :
xxxxxxx.com = livre
xxxxxxx1.com = registado
 
Eu agora tenho de ir dormir porque tenho de ir para a escola daqui a 6 horas :P

Um improviso meu seria fazeres download da página (alteras no URL as variáveis de modo a conterem o nome do site e o TLD), e a seguir procurares por algo que é comum aos domínios não registados. Como isto:
<p class="H2"><strong class="green">Domain name is not currently registered. Available for you now!</strong></p>
Se esta string for encontrada no ficheiro, é porque não está registado. Se não for encontrada, está. Simples.

Se alterarem o site é que é mais complicado... mas para improvisar já tens isso!
 
Eu agora tenho de ir dormir porque tenho de ir para a escola daqui a 6 horas :P

Um improviso meu seria fazeres download da página (alteras no URL as variáveis de modo a conterem o nome do site e o TLD), e a seguir procurares por algo que é comum aos domínios não registados. Como isto:
Se esta string for encontrada no ficheiro, é porque não está registado. Se não for encontrada, está. Simples.

Se alterarem o site é que é mais complicado... mas para improvisar já tens isso!

como faço o download, inet ou winsoc?
edit: ja vi que com winsock ele so recebe tudo para UMA Variavel ao mesmo tempo, curtia conseguir separar as strings uma por linha numa listbox, mas tb ja vi que ha uma funcao k encontra texto numa textbox, tou a estudar as possibilidades mas se tiveres alguma ideia avisa sff
 
Última edição:
Tenho pouco tempo :(

Eu ia mesmo dizer WinSock :P

1) Podes usar a função split() para dividir uma string. Como separador, usas o vbCrLf.
algo como
Código:
Dim Linhas() As String
Linhas = Split(Resultado_Do_WinSock, vbCrLf)
Encontrado = false

For i = 1 to ubound(linhas)
  if instr(linhas(i), "Domain name is not currently registered. Available for you now") Then 
    Encontrado = True
    Exit For
  end if
Next i


If Encontrado then msgbox "O domínio não está registado" Else msgbox "O domínio está registado"
("Linhas" é uma array)

2) Se quiseres acrescentar numa listbox, é quase a mesma coisa :P
Código:
Dim Linhas() As String
Linhas = Split(Resultado_Do_WinSock, vbCrLf)

List1.Clear

For i = 1 to ubound(linhas)
  List1.AddItem Linhas(i)
Next i
 
Tenho pouco tempo :(

Eu ia mesmo dizer WinSock :P

1) Podes usar a função split() para dividir uma string. Como separador, usas o vbCrLf.
algo como
Código:
Dim Linhas() As String
Linhas = Split(Resultado_Do_WinSock, vbCrLf)
Encontrado = false

For i = 1 to ubound(linhas)
  if instr(linhas(i), "Domain name is not currently registered. Available for you now") Then 
    Encontrado = True
    Exit For
  end if
Next i


If Encontrado then msgbox "O domínio não está registado" Else msgbox "O domínio está registado"
("Linhas" é uma array)

2) Se quiseres acrescentar numa listbox, é quase a mesma coisa :P
Código:
Dim Linhas() As String
Linhas = Split(Resultado_Do_WinSock, vbCrLf)

List1.Clear

For i = 1 to ubound(linhas)
  List1.AddItem Linhas(i)
Next i

thanks, mto bom, eu ja tinha usado o instr agora so estou com um problema é no ciclo pk o winsock afinal neste tipo de funcões é extremamente lento
 
Back
Topo