Быстрая одновременная проверка 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, так что простите за многословие и спасибо за ваше драгоценное время.