网页功能: 加入收藏 设为首页 网站搜索  
将某一主机域名解析为IP地址
发表日期:2003-05-28作者:[] 出处:  

将某一主机域名解析为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

我测试Kingron给出的用法时,hostEnt老是=nil。

后来我在用gethostbyname(...)之前,加入WSAStartup(...),终于一切OK。

Winsock单元中没有getaddressbyname()

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 将某一主机域名解析为IP地址
本类热点文章
  DBGrid 应用全书
  DBGrid 应用全书
  TWebBrowser编程简述
  用户界面设计的技巧与技术
  用户界面设计的技巧与技术
  初探Delphi 7 中的插件编程
  获取主板BIOS的信息
  网卡的远程网络唤醒
  Delphi 2006简介(Dexter)
  用Delphi开发数据库程序经验三则
  Delphi面向对象编程的20条规则
  Delphi面向对象编程的20条规则
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00467