【发布时间】:2013-03-30 22:33:57
【问题描述】:
我找不到任何使用 Indy 10 的 TIdDNSResolver 组件进行 DNS 查找的简单示例。它们要么是为了我不需要的东西(例如 MX/SMTP),要么是在谈论没有代码的术语。我已经尝试根据我能找到的少数资源阅读结果,但不知道我应该如何阅读结果。
这是我目前所拥有的......
uses
IdBaseComponent, IdComponent, IdTCPConnection, IdDNSResolver;
function TForm1.Lookup(const Name: String): String;
var
X: Integer;
begin
//DNS: TIdDNSResolver
DNS.QueryType:= [qtA];
DNS.Resolve(Name);
for X:= 0 to DNS.QueryResult.Count-1 do begin
if DNS.QueryResult[X].RecType = qtA then
//Result:= DNS.QueryResult[X].RData; <--- ????
end;
end;
用法...
HostIP:= Lookup('www.google.com');
如何阅读此回复?
【问题讨论】:
-
也许[这个问题] 会有所帮助? (通过在
[indy] TIdDNSResolver上搜索找到)。它询问有关转换以支持 Ipv6,但显示使用反向 DNS 查找的返回值。不知道会不会有帮助,但是... -
@Ken 什么问题?您的评论中没有链接...
-
为什么不试试这个呢? delphidabbler.com/tips/25
-
啊!当我这样做时,我讨厌它! :-) stackoverflow.com/q/8277903/62576 - 这就是问题本身(参见代码的下半部分)。
-
@WarrenP 确实很简单(只是因为已经为我编写了代码)但我已经在使用 Indy,我相信一旦通过了这个障碍,它会比使用 Winsock 容易得多直接。
标签: delphi dns delphi-xe2 indy indy10