.NET MVC获取客户端IPV4地址

来源:互联网 发布:mac显示桌面快捷方式 编辑:程序博客网 时间:2024/05/19 05:31
        /// <summary>        /// 获取访问客户端的IPV4地址        /// </summary>        /// <returns></returns>        public static string GetClientIPv4Address()        {            string ipv4 = String.Empty;            foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))            {                if (ip.AddressFamily.ToString() == "InterNetwork")                {                    ipv4 = ip.ToString();                    break;                }            }            if (ipv4 != String.Empty)            {                return ipv4;            }            // 利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 纪录,            // 再逐一判断何者为 IPv4 协议,即可转为 IPv4 位址。            foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)            //foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))            {                if (ip.AddressFamily.ToString() == "InterNetwork")                {                    ipv4 = ip.ToString();                    break;                }            }            return ipv4;        }        public static string GetClientIP()        {            if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"])            {                return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];            }            else            {                return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];            }        }


0 0
原创粉丝点击