C# 如何获得客户';s的本地IP地址,比如192.168.0.1?
我已经尝试了堆栈溢出问题的所有解决方案。它给我的是服务器的IP地址,而不是客户端的LAN IP地址 我需要获取客户端的本地IP地址,它必须被视为192.168.2.1,但我总是获取服务器的IP地址,而不是它 这是我的密码:C# 如何获得客户';s的本地IP地址,比如192.168.0.1?,c#,asp.net,C#,Asp.net,我已经尝试了堆栈溢出问题的所有解决方案。它给我的是服务器的IP地址,而不是客户端的LAN IP地址 我需要获取客户端的本地IP地址,它必须被视为192.168.2.1,但我总是获取服务器的IP地址,而不是它 这是我的密码: System.Web.HttpContext context = System.Web.HttpContext.Current; string ipAddress = context.Request.ServerVariables["LOCAL_ADDR"]; 有一个网站正
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["LOCAL_ADDR"];
有一个网站正在这样做
如何解决此问题?您的代码获取的是服务器的IP地址,而不是客户端的IP地址。请尝试以下操作: 此代码是从堆栈溢出问题复制的 您想要的是远程地址,而不是本地地址
context.Request.ServerVariables[“REMOTE\u ADDR”]
不知道,但是您可以查看他们的soruce代码以获得答案,假设这不是服务器端的事情(我严重怀疑),他们使用的是rtpeerconnection
。您可以将页面上的HTML和脚本复制到文本文档中,并在Chrome和Firefox中获得相同的结果。他们正在客户端进行此操作。除了在客户端之外,您无法在任何其他位置获取本地客户端地址。请求中没有发送它。据我所知,唯一对我有效的方法是在Internet Explorer中使用ActiveX,但这使网站非常受限;)如果没有问题,检查:那么你应该把这个问题标记为一个重复的问题。我已经标记了它,但同时我也提供了一个答案。这个主题不是重复的,因为你提到的问题是关于获取用户的wan ip地址,如86.123.127.8,但我想问的是,你如何获取用户的本地ip地址,如192.168.2.1 i希望你在评判之前多读一点关于这个问题的内容。
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}