Asp.NET获取当前域名

时间:2011-05-24 18:37:01

标签: .net asp.net dns

如果我的网站在www.example.com运行,但有人通过IP地址访问它。如何在IIS中进行代码查找www.example.com是实际网站的域名?

2 个答案:

答案 0 :(得分:1)

您是否尝试获取www.example.com的IP以便进行比较?

您可以通过以下方式获取www.example.com的IP:

 System.Net.Dns.GetHostEntry("www.example.com").AddressList[0].ToString();

然后,您可以比较IP以查看它们是否相同。另请注意,有一个列表,您可以检查它是否存在:

bool ipMatch = (System.Net.Dns.GetHostEntry("www.example.com").
    AddressList.Where(a => a.ToString().Equals(userIP)).Count() > 0);

你可以使用Contains但是你必须建立一个你可能没有的IPAddress对象。

编辑:根据您的评论,您拥有IP并希望获得主机地址:

string hostname = System.Net.Dns.GetHostEntry(yourIPHere).HostName;

答案 1 :(得分:1)

无法可靠根据IP地址查找域名,因为IP地址可以映射到0个或多个域名。

您可以做的最好的事情是有一个映射列表。请注意,本地网络IP地址和外部IP点也可以指向同一位置。

通常,特定计算机可以由多个IP引用,每个IP都可以由多个域引用。所以你可以去domain > IP address -> machine而不是相反。