zoukankan      html  css  js  c++  java
  • 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;
            }
  • 相关阅读:
    【js】实现输入框不允许输入某些特殊字符
    springboot集成druid实现数据源监控
    SpringBoot整合Druid并配置数据源监控
    SpringBoot集成Druid实现数据源管理和监控
    同一个catch字句中捕获多个java异常
    【JWT】JSON Web Token原理与实现
    行级锁实验:sql语句条件中的索引对锁的影响
    什么是乐观锁,什么是悲观锁,如何实现
    Linux命令与文件的查找which、wheris、locate、find
    vi编辑器永久设置行号、缩进
  • 原文地址:https://www.cnblogs.com/Aaxuan/p/10301926.html
Copyright © 2011-2022 走看看