Быстрая одновременная проверка DNS-записей SOA для доменов .co.za

Я хочу реализоватьпроверка массовой доступности из.co.za доменные имена как можно точнее, проверив наличиеSOA или жеMX записи используя C # ASP.NET.

Я ищу решение, которое может проверять соответствующие записи DNS таким образом, чтобы правильно использовать потоки для проверки как минимум 10 доменов одновременно ».

Почему Дон'Вы просто используете API? "

Единственный действительно точный способ проверить доступность домена .co.za - это использоватьhttp://co.za/whois.shtml, но архаичная служба WHOIS не разрешает массовую проверку и ограничивает последовательные проверки для данного IP.

Предыдущая работа

На сегодняшний день я получилдовольно точные результаты, используя мой древний классический сценарий ASP с использованием старой библиотеки DNS под названием "Простой DNS Resolver " Эммануэль Картманн. Однако такой подходплохо масштабируется и мне нужно иметь возможность обрабатывать больше пользователей с правильно реализованной реализацией ASP.NET.

Непослушный код I 'м с помощью прямо сейчас выглядит примерно так:

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

Выполните следующее для каждого домена:

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

Любая рекомендация по улучшению обнаружения приветствуется. Это мой первый вопрос о SO, так что простите за многословие и спасибо за ваше драгоценное время.

Ответы на вопрос(2)

Ваш ответ на вопрос