Java 识别请求来自移动端还是电脑端

代码:

/**
 * @Author : JCccc
 * @CreateTime : 2020/7/1
 * @Description :
 **/
public class DiscernRequestUtil {
    /**
     * 识别请求是 手机端(分系统) 还是电脑端
     * @param userAgent
     * @return
     */
    public static String getRequestDevice(String userAgent) {
        userAgent=userAgent.toLowerCase();
        if (userAgent.contains("windows phone")){
            return  "Windows手机端";
        }else if (userAgent.contains("android")) {
            return  "安卓手机端";
        }else if(userAgent.contains("iphone") || userAgent.contains("ipad")){
            return  "ios手机端";
        }else {
            return  "电脑端";

        }
    }

    /**
     * 识别请求是手机端还是电脑端
     * @param userAgent
     * @return
     */
    public static String getAskType(String userAgent) {
        userAgent=userAgent.toLowerCase();
        if (userAgent.contains("windows phone")
                ||
                userAgent.contains("android")
                ||
                userAgent.contains("iphone")
                ||
                userAgent.contains("ipad") //暂且把ipad也归为苹果设备
        ){
            return  "mobile";
        }else {
            return  "pc";

        }
    }

}

接口测试&使用方式:

就是从HttpServletRequest request 的头里拿出 user-agent 这个key的值做识别处理。

    @GetMapping("doSomeTest")
    public void doSomeTest(HttpServletRequest request){
        
        
        String userAgent  = request.getHeader("user-agent");
        
        
        String requestDevice = getRequestDevice(userAgent);
        System.out.println(requestDevice);

        
        String askType = getAskType(userAgent);
        System.out.println(askType);

    }

猜你喜欢

转载自blog.csdn.net/qq_35387940/article/details/108376843