JAVA-判断请求来自PC端还是手机端

某些情形,我们需要判断Http请求是来自手机端还是电脑端,关键是取得User-Agent的信息,进行筛选判断即可。

核心类如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static boolean  isMobileDevice(String requestHeader){
        /**
         * android : 所有android设备
         * mac os : iphone ipad
         * windows phone:Nokia等windows系统的手机
         */
        String[] deviceArray = new String[]{"android","mac os","windows phone"};
        if(requestHeader == null)
            return false;
        requestHeader = requestHeader.toLowerCase();
        for(int i=0;i<deviceArray.length;i++){
            if(requestHeader.indexOf(deviceArray[i])>0){
                return true;
            }
        }
        return false;
}

 

在controller中获取http头信息如下:

1
2
3
4
5
6
             String requestHeader = request.getHeader("user-agent");
        if(JudgeRequestDeviceUtil.isMobileDevice(requestHeader)){
            logger.debug("使用手机浏览器");
        }else{
            logger.debug("使用web浏览器");
        }

 

来自:

 

posted @ 2016-05-09 17:43  czhyuwj  阅读(10894)  评论(0编辑  收藏  举报