DelphiでIndyでDNSレコードを検索するにはどうすればよいですか?例えば、SRV
記録、SPF
記録、TEXT
記録などデルファイでindyを使用してDNSレコードを検索する方法
私たちは、Windowsから直接nslookup
を使用することができます知っているが、私はインディ、または任意の他のDelphiのコンポーネントでこれをやりたいです。
私はGoogleの検索試みたが、私はこのようなものが見つかりました:
function ReverseDNSLookup(IPAddress: String; DNSServer: String =
SDefaultDNS; Timeout: Integer = 30; Retries: Integer = 3) : string;
var
AIdDNSResolver: TIdDNSResolver;
RetryCount: Integer;
begin
Result := '';
IPAddress := ReverseIP(IPAddress);
AIdDNSResolver := TIdDNSResolver.Create(nil);
try
AIdDNSResolver.QueryResult.Clear;
AIdDNSResolver.WaitingTime := Timeout;
AIdDNSResolver.QueryType := [qtPTR];
AIdDNSResolver.Host := DNSServer;
RetryCount := Retries;
repeat
try
dec(RetryCount);
AIdDNSResolver.Resolve(IPAddress);
Break;
except
on e: Exception do
begin
if RetryCount <= 0 then
begin
// if SameText(e.Message, RSCodeQueryName) then
// Result := FALSE
// else
raise Exception.Create(e.Message);
Break;
end;
end;
end;
until false;
if AIdDNSResolver.QueryResult.Count > 0 then
Result := AIdDNSResolver.QueryResult.DomainName;
finally
FreeAndNil(AIdDNSResolver);
end;
end;
をしかし、それはのためにあるすべてのIPアドレスを探しています。 SRV
とTEXT
のレコードが必要で、おそらくSPF
のレコードが必要です。