zoukankan      html  css  js  c++  java
  • 通过UserAgent判断智能设备(Android,IOS)

    最近一直在升级公司的手机站点,出了个触屏版专用的,做好后,就尝试通过 Agent 来判断相应的智能手机设备,然后跳转到新的手机站点

    经过不懈的努力,终于搜集了比较全的 智能设备 的 Agent,然后又写了程序,直接上代码吧,希望能帮助到你

        ///<summary>
    /// 根据 Agent 判断是否是智能手机
    ///</summary>
    ///<returns></returns>
    public static bool CheckAgent()
    {
    bool flag = false;

    string agent = HttpContext.Current.Request.UserAgent;
    string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };

    //排除 Windows 桌面系统
    if (!agent.Contains("Windows NT") || (agent.Contains("Windows NT") && agent.Contains("compatible; MSIE 9.0;")))
    {
    //排除 苹果桌面系统
    if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
    {
    foreach (string item in keywords)
    {
    if (agent.Contains(item))
    {
    flag = true;
    break;
    }
    }
    }
    }

    return flag;
    }



    代码解释:

    1. !agent.Contains("Windows NT") && !agent.Contains("Macintosh") 排除Window 桌面系统 和 苹果桌面系统

    2. "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" 这些是判断智能设备Agent中的关键词

    3. MQQBrowser 为 QQ 手机浏览器,QQ 手机的Agent 比较特殊,所以单独判断

    下面搜集的一些Agent,话说找到这么多的智能设备,好不容易啊:

    Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

    Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

    MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)

    Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

    Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413

    Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2

    Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22

    Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

    Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

    Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

    Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1

    Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)      ----SAMSUNG MP7

    Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)          ----HTC MP7

  • 相关阅读:
    哥java学识有大进 干回之前的小学生系统像切菜一样简单 不说了 来代码
    祝贺自己操作系统JAVA项目有进展!!
    四则运算的开发
    四则运算app总结
    对其它组评价的反馈
    第三次spring冲刺2
    阅读《构建之法》第13-17章
    对其他组的评价
    第三次spring冲刺1
    阅读11,12章
  • 原文地址:https://www.cnblogs.com/wangluochong/p/2584897.html
Copyright © 2011-2022 走看看