加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何使用Indy在DNS中找到LDAP服务器?

发布时间:2020-12-15 09:25:57 所属栏目:大数据 来源:网络整理
导读:使用nslookup命令(在 Windows上)或 Linux上的host命令,计算机可以在DNS中查询LDAP服务器(请参阅 http://www.voidcn.com/article/p-apooguqk-btv.html). 是否可以使用Indy DNS解析器组件执行这些查询? nslookup -type=srv _ldap._tcp.DOMAINNAME 要么 host -
使用nslookup命令(在 Windows上)或 Linux上的host命令,计算机可以在DNS中查询LDAP服务器(请参阅 http://www.voidcn.com/article/p-apooguqk-btv.html).

是否可以使用Indy DNS解析器组件执行这些查询?

nslookup -type=srv _ldap._tcp.DOMAINNAME

要么

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读