WEB开发网
开发学院软件开发Delphi 将某一主机域名解析为IP地址。 阅读

将某一主机域名解析为IP地址。

 2006-02-04 13:25:49 来源:WEB开发网   
核心提示:将某一主机域名解析为ip地址,使用 WinSock 单元;过程如下:function HostToIP(Name: string; var Ip: string): Boolean;var wsdata : TWSAData; hostName : array [0..255] of char; hostEnt
将某一主机域名解析为ip地址。
使用 WinSock 单元;
过程如下:
function HostToIP(Name: string; var Ip: string): Boolean;
var
  wsdata : TWSAData;
  hostName : array [0..255] of char;
  hostEnt : PHostEnt;
  addr : PChar;
begin
  WSAStartup ($0101, wsdata);
  try
   gethostname (hostName, sizeof (hostName));
   StrPCopy(hostName, Name);
   hostEnt := gethostbyname (hostName);
   if Assigned (hostEnt) then
    if Assigned (hostEnt^.h_addr_list) then begin
     addr := hostEnt^.h_addr_list^;
     if Assigned (addr) then begin
      IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
      byte (addr [1]), byte (addr [2]), byte (addr [3])]);
      Result := True;
     end
     else
      Result := False;
    end
    else
     Result := False
   else begin
    Result := False;
   end;
  finally
   WSACleanup;
  end
end;

测试时请在在线状态。

测试代码:
var
IP: string;
DNS: string;
begin
  DNS := InputBox('输入DNS域名', '主机名称:', ');
  if HostToIp(DNS, IP) then showmessage(IP);
end;

Tags:主机 域名 解析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接