0

我想用 C# 从特定的 IP 范围获取域名

 IPAddress addr = IPAddress.Parse("100.10.100."+i);
    entry = Dns.GetHostEntry(addr);

但是我遇到了这个错误 The requested name is valid and was found in the database,但它没有正确的关联数据被解析

有些IP没有域名。但我不能空检查GetHostEntry。我试过这样但没有任何改变。我遇到了同样的错误

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

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

4

1 回答 1

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
    }
  }
于 2013-07-29T15:05:28.497 回答