C# 服务端获取客户端 系统/浏览器/IP

        /// <summary>
        /// 获取客户端操作系统版本
        /// </summary>
        /// <returns></returns>
        public static string GetOSName()
        {
            if (HttpContext.Current == null || HttpContext.Current.Request == null || HttpContext.Current.Request.UserAgent == null)
            { return "未知"; }

            var userAgent = HttpContext.Current.Request.UserAgent.ToLower();

            if (userAgent.Contains("android"))
            { return "Android"; }
            else if (userAgent.Contains("mac os x"))
            { return "ios"; }
            else if (userAgent.Contains("windows phone"))
            { return "Windows Phone"; }
            else if (userAgent.Contains("nt 10.0"))
            { return "Windows 10"; }
            else if (userAgent.Contains("NT 6.3"))
            { return "Windows8.1"; }
            else if (userAgent.Contains("NT 6.2"))
            { return "Windows8"; }
            else if (userAgent.Contains("nt 6.1"))
            { return "Windows 7"; }
            else if (userAgent.Contains("nt 6.0"))
            { return "Windows Vista/Server 2008"; }
            else if (userAgent.Contains("nt 5.2"))
            { return "Windows Server 2003"; }
            else if (userAgent.Contains("nt 5.1"))
            { return "Windows XP"; }
            else if (userAgent.Contains("nt 5"))
            { return "Windows 2000"; }
            else if (userAgent.Contains("nt 4"))
            { return "Windows NT4"; }
            else if (userAgent.Contains("me"))
            { return "Windows Me"; }
            else if (userAgent.Contains("98"))
            { return "Windows 98"; }
            else if (userAgent.Contains("95"))
            { return "Windows 95"; }
            else if (userAgent.Contains("mac"))
            { return "Mac"; }
            else if (userAgent.Contains("unix"))
            { return "UNIX"; }
            else if (userAgent.Contains("linux"))
            { return "Linux"; }
            else if (userAgent.Contains("sunos"))
            { return "SunOS"; }

            return "未知";
        }

        /// <summary>
        /// 获取浏览器名称
        /// </summary>
        /// <returns></returns>
        public static string GetBrowser()
        {
            if (HttpContext.Current == null || HttpContext.Current.Request == null || HttpContext.Current.Request.UserAgent == null)
            { return "未知"; }

            var userAgent = HttpContext.Current.Request.UserAgent.ToLower();

            if (userAgent.Contains("opera/ucweb"))
            { return "UC Opera"; }
            else if (userAgent.Contains("openwave/ ucweb"))
            { return "UCOpenwave"; }
            else if (userAgent.Contains("ucweb"))
            { return "UC"; }
            else if (userAgent.Contains("360se"))
            { return "360"; }
            else if (userAgent.Contains("metasr"))
            { return "搜狗"; }
            else if (userAgent.Contains("maxthon"))
            { return "遨游"; }
            else if (userAgent.Contains("the world"))
            { return "世界之窗"; }
            else if (userAgent.Contains("tencenttraveler") || userAgent.Contains("qqbrowser"))
            { return "腾讯"; }
            else if (userAgent.Contains("chrome"))
            { return "Chrome"; }
            else if (userAgent.Contains("safari"))
            { return "safari"; }
            else if (userAgent.Contains("firefox"))
            { return "Firefox"; }
            else if (userAgent.Contains("opera"))
            { return "Opera"; }
            else if (userAgent.Contains("msie"))
            { return "IE"; }
            else
            { return System.Web.HttpContext.Current.Request.Browser.Browser; }
        }

        /// <summary>
        /// 取得客户端IP
        /// </summary>
        /// <returns></returns>
        public static string GetClientIp()
        {
            var result = "0.0.0.0";

            if (HttpContext.Current == null && HttpContext.Current.Request == null)
            { return result; }

            result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (result == null || result == String.Empty)
            {
                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }
            if (result == null || result == String.Empty)
            {
                result = HttpContext.Current.Request.UserHostAddress;
            }
            if (result == null || result == String.Empty)
            {
                result = "0.0.0.0";
            }

            return result;
        }

 

posted @ 2019-02-27 10:03  Aaxuan  阅读(2116)  评论(0编辑  收藏  举报