zoukankan      html  css  js  c++  java
  • 如何判断移动终端访问还是PC访问?

    我们经常需要知道访问网站的设备是移动终端还是PAD还是PC,下面给出判断的java代码供参考。实现的原理就是获取HTTP消息头里User-Agent和x-wap-profile,User-下面是User-Agent实际抓包的例子。

    User-Agent: Mozilla/5.0 (Linux; Android 4.3; Coolpad 8705 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Mobile Safari/537.36

    /**
         * 判断是否是从手机或者PAD访问的
         * 
         * @param request
         * @return
         * true:为移动终端
         * false:为PC用户
         */
        public static boolean IsMobile(HttpServletRequest request) {
            String user_agent = request.getHeader("User-Agent");
            String wap_profile = request.getHeader("x-wap-profile");
            if(user_agent ==null)
                return true;
            if (user_agent.contains("Android") || user_agent.contains("iPhone")
                    || (wap_profile != null && wap_profile.length() > 0)) {
                return true;
            } else {
                return false;
            }
    
        }

    另外需要注意的是同样是移动终端,在TD-LTE环境下发现请求包里会不携带User-Agent头,移动终端在WIFI和WCDMA环境下访问就会携带。这个问题让我花了一些时间(系统会报500错,后来增加了user_agent是否为空的判断。

  • 相关阅读:
    龙芯地址空间详解
    JS匿名函数 Amy
    JS正则表达式 Amy
    JS对象 Amy
    Java 位图法排序
    Java Final
    JAVA 数组
    Java shuffle 算法
    jQuery object and DOM element
    Javascript 声明时用“var”跟不用"var"的区别
  • 原文地址:https://www.cnblogs.com/liughost/p/3955607.html
Copyright © 2011-2022 走看看