C#ASP.NETを使用してSOAまたはMXレコードの存在をチェックすることにより、 .co.zaドメイン名の一括可用性チェックを可能な限り正確に実装したいと思います。
スレッド化を適切に利用して一度に少なくとも10個のドメインをチェックする方法で、関連するDNSレコードをチェックできるソリューションを探しています。
「APIだけを使ってみませんか?」
.co.zaドメインの可用性をチェックする唯一の真に正確な方法は、http://co.za/whois.shtmlを使用することですが、古風なWHOISサービスは一括チェックを許可せず、特定のIPの連続チェックを制限します。
前作
これまで、EmmanuelKartmannによる「SimpleDNSResolver」と呼ばれる古いDNSライブラリを利用した古い古典的なASPスクリプトを使用することで、かなり正確な結果を得ることができました。ただし、このアプローチは適切に拡張できないため、適切にスレッド化されたASP.NET実装を使用してより多くのユーザーを処理できるようにする必要があります。
私が今使用しているいたずらなコードは次のようになります。
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に関する私の最初の質問です。私の冗長性を許し、貴重な時間をありがとうございます。