将某一主机域名解析为IP地址

原创 2001年05月12日 18:38:00

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

将某一主机域名解析为IP地址。使用 WinSock 单元;过程如下:function HostToIP(Name: string; var Ip: string): Boolean;var  wsda...
  • laza
  • laza
  • 2001年02月06日 19:03
  • 856

java将域名解析为IP地址

熟悉InetAddress类:InetAddress类主要是用来得到所指定的网络地址,InetAddress类没有直接显式的构造函数。要生成一个InetAddress对象,必须运用一个可用的工厂方法。...
  • Aphysia
  • Aphysia
  • 2017年04月18日 16:08
  • 1034

DNS服务(一):由域名解析出IP

DNS简介DNS,就是Domain Name System的缩写,翻译过来就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库。DNS能够使用户更方便的访问互联网,而不用去记住能够被机...
  • qq_30753945
  • qq_30753945
  • 2017年02月10日 22:58
  • 748

弱校计算机网络试卷(2012-2013)

一、选择题,请选择一个最准确的答案1 IP地址为 140.111.0.0 的B类网络,若要切割为9个子网,而且都要 连上Internet,请问子网掩码设为_ D_。 A.255.0.0.0 ...
  • Slow_Wakler
  • Slow_Wakler
  • 2016年12月28日 11:26
  • 1675

域名解析为ip地址

int GetIpByDomainName(const char *DName,unsigned char* ipaddr) { struct hostent *phost; if(NU...
  • wangjidong198612
  • wangjidong198612
  • 2015年07月08日 18:57
  • 221

Linux域名解析得到ip地址

Linux下域名解析得到ip地址代码如下:#include #include #include #include #include int main(int argc, char *arg...
  • mcgrady_tracy
  • mcgrady_tracy
  • 2015年12月10日 17:23
  • 2523

Linux下网络IP地址的转换,主机字节顺序和网络字节顺序的转换。

Linux下网络IP地址的转换函数 网络IP地址本是用32位二进制来表示的,为了记忆的方便可以用点分十进制来表示IP地址,同时,网络IP地址在网络传输和计算机内部的存储方式也不同,需要用函数来进行转...
  • iw1210
  • iw1210
  • 2013年03月05日 10:57
  • 4902

如何根据IP地址和子网掩码,计算其所在子网的网络地址,主机地址和广播地址 .

一、在介绍十进制算法前我们先要明确一些概念。   类范围: IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X在1~126范围内称为A类地址;X在128~191范围内称为B类地址;X...
  • xiaoyatou_00
  • xiaoyatou_00
  • 2011年09月01日 13:58
  • 2156

VC++ 之获取主机IP gethostbyname()函数 详细实例分析

以下是VC Socket初始化时用到的两个函数 一、WSAStartup函数                 int WSAStartup                        (     ...
  • lqhed
  • lqhed
  • 2016年05月27日 08:58
  • 403

通过java解析域名获得IP地址

在这里我们如果想通过java程序来解析域名获得真实IP的话,可以通过java的InetAddress类来实现...
  • Roy_70
  • Roy_70
  • 2016年07月26日 20:06
  • 9792
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将某一主机域名解析为IP地址
举报原因:
原因补充:

(最多只允许输入30个字)