将某一主机域名解析为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;
作者:Latfi Baran
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-988452/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-988452/
本文介绍了一个实用的Delphi函数,该函数能够将主机域名解析为对应的IP地址,并提供了详细的实现步骤与测试代码。
1万+

被折叠的 条评论
为什么被折叠?



