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évio

Até 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.

questionAnswers(2)

yourAnswerToTheQuestion