IP地址GetHostName空检查

时间:2013-07-29 13:44:37

标签: c# dns ip reverse-dns

我想从C#

获取特定IP范围的域名
 IPAddress addr = IPAddress.Parse("100.10.100."+i);
    entry = Dns.GetHostEntry(addr);

但是我遇到了这个错误 请求的名称有效并且已在数据库中找到,但它没有正确的关联数据被解析

有些Ip没有域名。但我无法检查GetHostEntry。 我尝试了但没有改变。我遇到了同样的错误

 if(Dns.GetHostEntry(addr)!=null)

如何绕过此错误进行空检查?

1 个答案:

答案 0 :(得分:0)

您可以在C#中使用try-catch语句:

  for (int i = 1; i <= 255; i++) {
    IPAddress addr = IPAddress.Parse("100.10.100."+i);
    try
    {
      entry = Dns.GetHostEntry(addr);
      //some other codes that cause exception
    }
    catch(SocketException ex)
    {
      //do something
    }
    catch(Exception ex)
    {
      //catch all other exceptions
    }
  }