我试图通过传递IP地址获取主机名.我使用以下代码.
System.Net.Dns.GetHostEntry("192.168.x.x").HostName
对于某些主机,上面的代码正确返回主机名,但对于其他几个主机,它会抛出异常“No Such host found”.
任何人都可以告诉我为什么这会发生在某些主机上?
我在asp.net mvc应用程序中使用了上面的代码.
解决方法
并非所有IP都通过反向DNS条目正确设置.这些IP通常是懒惰ISP的最终消费者,他们不为其客户提供PTR记录.如果没有反向输入,你可以打赌也没有反向输入.因此,这些主机根本没有主机名,因此例外.您需要为这些主机捕获此异常,并使用其他内容(例如其IP作为标识符).