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浏览器");
        }

来自:

原文地址:https://www.cnblogs.com/czhyuwj/p/5474819.html