如何将域名转换为ip

rubber365 2005-04-15 08:36:43
如何根据域名比如www.sohu.com 或aaa.vicp.net来取得ip呢?
...全文
471 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxj2000 2005-04-18
  • 打赏
  • 举报
回复
gethostbyname
kanxue660 2005-04-17
  • 打赏
  • 举报
回复
inet_addr,好像有这个api函数
Kshape 2005-04-17
  • 打赏
  • 举报
回复
function GetIPFromName(Name: string): string;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
begin
WSAStartup(2, WSAData);
HostEnt := gethostbyname(PChar(Name));
with HostEnt^ do
Result := Format('%d.%d.%d.%d', [Byte(h_addr^[0]),
Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
WSACleanup;
end;
elilor 2005-04-17
  • 打赏
  • 举报
回复
如果要同时转换很多域名,速度是一个问题。
jackie168 2005-04-16
  • 打赏
  • 举报
回复
uses winsock;

function GetIP(Name:string) : string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe :PHostEnt;
pptr : PaPInAddr;
I : Integer;
GInitData : TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
phe :=GetHostByName(pchar(Name)); //返回一个指向主机信息结构的指针
pptr := PaPInAddr(Phe^.h_addr_list); //强制转换
result:=StrPas(inet_ntoa(pptr^[0]^));//返回一个点分形式的字符串IP地址
WSACleanup;
end;

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧