某些情形,我們需要判斷Http請求是來自手機端還是電腦端,關鍵是取得User-Agent的資訊,進行篩選判斷即可。
核心類如下
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頭資訊如下:
String requestHeader = request.getHeader("user-agent");
if(JudgeRequestDeviceUtil.isMobileDevice(requestHeader)){
logger.debug("使用手機浏覽器");
}else{
logger.debug("使用web浏覽器");
}