//通过域名获得IP地址 aStr为主机的域名
function GetRealIP(aStr: String): String;
var
WSAData: TWSAData;
Host: pHostent;
ConsultResult: String;
Err: Integer;
begin
//initiates use of WS2_32.DLL
if (WSAStartup(MAKEWORD(2,0),WSAData) <> 0) then
begin
raise Exception.Create('Winsock Version Error');
end
else
begin
try
Host := GetHostByName(PChar(aStr));
WSACleanUP;
except
WSACleanUP;
Err := WSAGetLastError();
raise Exception.Create(InttoStr(Err));
Exit;
end;
if Host = NIL then
begin
raise Exception.Create('Host does not exist');
exit;
end;
ConsultResult := Copy(Host.h_addr^,0,4);
Result := Format('%d.%d.%d.%d',[ord(ConsultResult[1]),ord(ConsultResult[2]),
ord(ConsultResult[3]),ord(ConsultResult[4])]);
end;
end;