如何在asp.net中获取服务器/网站的IP地址?

时间:2009-01-08 14:13:45

标签: asp.net

当用户请求进来时,我可以使用Context.Request.UserHostAddress来获取用户的IP地址。如何在运行时获取网站/服务器的IP地址?我有一些报告代码可以被同一台服务器上的多个网站使用,每个网站使用不同的IP地址。所以我需要能够在运行时检测网站的IP地址。

3 个答案:

答案 0 :(得分:14)

System.Net.Dns.GetHostAddresses

顺便说一句,你必须作为参数传入主机的名称,所以也许试试这个:

System.Net.Dns.GetHostByAddress(System.Net.IPAddress.Parse(System.Web.HttpContext.Current.Request.UserHostName)).HostName;

如果所有其他方法都失败了,那就按照旧学校的方式去做:

Response.Write(Request.ServerVariables["LOCAL_ADDR"]);

答案 1 :(得分:6)

谢谢Alex,你的回答让我走上了正确的道路。以下是我正在寻找的代码:

VB.NET:

System.Net.Dns.GetHostAddresses(Request.Url.Host)(0).ToString()

System.Net.Dns.GetHostEntry(Request.Url.Host).AddressList(0).ToString()

答案 2 :(得分:2)

     string siteName = "Your Site URL";
     string tempUrl = siteName.Replace("http://", "").Replace("https://", "").Trim();
     string[] SiteURLArr = tempUrl.Split('/');
     string SiteURL = SiteURLArr[0];
      System.Net.IPAddress[] ip = System.Net.Dns.GetHostAddresses(SiteURL);
     Response.Write(ip[0]);