Verificação simultânea rápida de registros DNS SOA para domínios .co.za
Eu quero implementarverificação de disponibilidade em massa do.co.za nomes de domínio com a maior precisão possível, verificando a existência deSOA ouRegistros MX Usando o C # ASP.NET.
Eu estou procurando uma solução que pode verificar os registros DNS relevantes de uma maneira que utiliza corretamente threading para verificar pelo menos 10 domínios de cada vez.
"Por que você não usa apenas uma API?"A única maneira realmente precisa de verificar a disponibilidade de um domínio .co.za é usarhttp://co.za/whois.shtml, mas o serviço WHOIS arcaico não permite a verificação em massa e limita as verificações consecutivas de um determinado IP.
Trabalho prévioAté hoje, eu chegueibastante resultados precisos usando meu antigo script ASP clássico utilizando uma antiga biblioteca DNS chamada "Simple DNS Resolver" de Emmanuel Kartmann. No entanto, esta abordagemnão escala bem e eu preciso ser capaz de lidar com mais usuários com uma implementação ASP.NET corretamente encadeada.
O código malicioso que estou usando agora é parecido com isto:
Dim oDNS, pDomain, found_names
Set oDNS = CreateObject("Emmanuel.SimpleDNSClient.1")
oDNS.ServerAddresses = "127.0.0.1" // Set DNS server to use
oDNS.Separator = "," // Set separator for found_names multiple outputs
Execute o seguinte para cada domínio:
Err.Clear // Reset error flag. I know, I hate it too.
oDNS.Resolve pDomain, found_names, "C_IN", "T_SOA" // Look for SOA records for domain
If Err <> 0 Then // No SOA records could be found.
Err.Clear // Reset error flag
oDNS.GetEmailServers pDomain, found_names // Look for MX records
If Err <> 0 Then // No MX records found either
AssumeDomainIsAvailable(pDomain);
Else // Found some MX records
DomainUnavailable(pDomain);
End If
Else // Found some SOA records
DomainUnavailable(pDomain);
End If
Qualquer recomendação para melhorar a detecção é apreciada. Esta é a minha primeira pergunta sobre SO, então perdoe minha verbosidade e agradeço pelo seu precioso tempo.