使用Asp / Javascript获取客户端计算机的确切IP地址(非公共IP)

时间:2015-02-25 04:11:39

标签: javascript c# asp.net ip-address

有没有办法在asp.net中获取客户端机器的确切IP地址。我已经尝试过以下代码

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

但是这段代码有时会返回机器的确切IP地址,有时它会提供公共IP地址,如何解决这个问题

1 个答案:

答案 0 :(得分:4)

如果客户端计算机位于NAT防火墙后面,则无法获取该地址。无论如何,这样的地址无意义,因为许多客户可能拥有相同的地址。