代碼:
/**
* @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);
}