Delphi 如何使用Indy在DNS中找到LDAP服务器?
使用Delphi 如何使用Indy在DNS中找到LDAP服务器?,delphi,dns,ldap,indy,freepascal,Delphi,Dns,Ldap,Indy,Freepascal,使用nslookup命令(在Windows上)或host命令(在Linux上),计算机可以在DNS中查询LDAP服务器(请参阅) 是否可以使用Indy DNS解析器组件执行这些查询 nslookup -type=srv _ldap._tcp.DOMAINNAME 或 简单: 我只是好奇,程序名SO18309621;?实际上,DavidHeffernan开始这样做(用SO post id命名项目),我只是一个模仿者:)。 host -t srv _ldap._tcp.DOMAINNAME pr
nslookup
命令(在Windows上)或host
命令(在Linux上),计算机可以在DNS中查询LDAP服务器(请参阅)
是否可以使用Indy DNS解析器组件执行这些查询
nslookup -type=srv _ldap._tcp.DOMAINNAME
或
简单:
我只是好奇,程序名SO18309621;?实际上,DavidHeffernan开始这样做(用SO post id命名项目),我只是一个模仿者:)。
host -t srv _ldap._tcp.DOMAINNAME
program SO18309621;
{$APPTYPE CONSOLE}
uses
IdDNSResolver,
SysUtils;
var
Dns : TIdDNSResolver;
Rec : TResultRecord;
Srv : TSRVRecord;
Index : Integer;
begin
try
Dns := TIdDNSResolver.Create;
try
Dns.Host := 'mydnsserver.mydomain';
Dns.QueryType := [qtService];
Dns.Resolve('_ldap._tcp.mydomain');
for Index := 0 to Dns.QueryResult.Count - 1 do
begin
Rec := Dns.QueryResult[Index];
if Rec is TSRVRecord then
begin
Srv := TSRVRecord(Rec);
Writeln('Target=', Srv.Target, ', Port=', Srv.Port, ', Priority=', Srv.Priority, ', Weight=', Srv.Weight);
end;
end;
finally
Dns.Free;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.