Advertisement
TLama

Untitled

Mar 30th, 2013
1,804
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.13 KB | None | 0 0
  1. function DNSLookupIPv4(const ADNSServer, ADomain: string): string;
  2. var
  3.   I: Integer;
  4.   DNSResolver: TIdDNSResolver;
  5. begin
  6.   Result := '';
  7.   DNSResolver := TIdDNSResolver.Create;
  8.   try
  9.     DNSResolver.Host := ADNSServer;
  10.     DNSResolver.QueryType := [qtA];
  11.     DNSResolver.Resolve(ADomain);
  12.     for I := 0 to DNSResolver.QueryResult.Count - 1 do
  13.       if DNSResolver.QueryResult[I].RecType = qtA then
  14.       begin
  15.         Result := (DNSResolver.QueryResult[I] as TARecord).IPAddress;
  16.         Break;
  17.       end;
  18.   finally
  19.     DNSResolver.Free;
  20.   end;
  21. end;
  22.  
  23. function DNSLookupIPv6(const ADNSServer, ADomain: string): string;
  24. var
  25.   I: Integer;
  26.   DNSResolver: TIdDNSResolver;
  27. begin
  28.   Result := '';
  29.   DNSResolver := TIdDNSResolver.Create;
  30.   try
  31.     DNSResolver.Host := ADNSServer;
  32.     DNSResolver.QueryType := [qtAAAA];
  33.     DNSResolver.Resolve(ADomain);
  34.     for I := 0 to DNSResolver.QueryResult.Count - 1 do
  35.       if DNSResolver.QueryResult[I].RecType = qtAAAA then
  36.       begin
  37.         Result := (DNSResolver.QueryResult[I] as TAAAARecord).Address;
  38.         Break;
  39.       end;
  40.   finally
  41.     DNSResolver.Free;
  42.   end;
  43. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement