//通过域名获得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; 申请个域名,然后用使用上边的程序应该可以解析出IP的,不知道有没有帮助
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;
申请个域名,然后用使用上边的程序应该可以解析出IP的,不知道有没有帮助