通過域名或主機名得到ip
function hostnametoip(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 result:=false;
finally
wsacleanup;
end;
end;
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 result:=false;
finally
wsacleanup;
end;
end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.