Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获得客户';s的本地IP地址,比如192.168.0.1?_C#_Asp.net - Fatal编程技术网

C# 如何获得客户';s的本地IP地址,比如192.168.0.1?

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"]; 有一个网站正

我已经尝试了堆栈溢出问题的所有解决方案。它给我的是服务器的IP地址,而不是客户端的LAN IP地址

我需要获取客户端的本地IP地址,它必须被视为192.168.2.1,但我总是获取服务器的IP地址,而不是它

这是我的密码:

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"];
}