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;
            }
  • 相关阅读:
    67 个拯救前端开发者的工具、库和资源
    js常用的工具函数
    npm快捷键
    给bootstrap table设置行列单元格样式
    script标签中type为"text/x-template"或"text/html"
    【转载】Ogre3d 2.1 源码编译安装教程
    【转载】OGRE 2.1 Windows 编译
    【转载】DXUT11框架浅析(4)--调试相关
    【转载】GitHub详解
    【转载】3D/2D中的D3DXMatrixPerspectiveFovLH和D3DXMatrixOrthoLH投影函数详解
  • 原文地址:https://www.cnblogs.com/Aaxuan/p/10301926.html
Copyright © 2011-2022 走看看