【发布时间】:2012-12-03 17:40:12
【问题描述】:
我想获取访问我网站的计算机的地址 IP(LAN ip)。
我怎样才能得到它?
【问题讨论】:
标签: c# network-programming ip ip-address lan
我想获取访问我网站的计算机的地址 IP(LAN ip)。
我怎样才能得到它?
【问题讨论】:
标签: c# network-programming ip ip-address lan
我假设您使用的是 asp.net,在这种情况下,您可以使用 Request.UserHostAddress 来检索客户端的 IP 地址。
【讨论】:
方法一:
您可以使用下面提到的链接来获得它。
List the IP Address of all computers connected to a single LAN
方法二:
你也可以试试下面的。
public string GetUserIP()
{
string ipList = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipList))
{
return ipList.Split(',')[0];
}
return Request.ServerVariables["REMOTE_ADDR"];
}
方法三:
System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.GetValue(0).ToString();
希望对你有帮助。
【讨论】:
你不能。
浏览器不会在 HTTP 标头中发送其本地 IP,因此您无法获取它。您只能获得路由器的外部(互联网)IP。
【讨论】:
使用此功能:
public string GetLanIP()
{
IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
localIP = ip.ToString();
}
}
return localIP;
}
【讨论】: