某些情形,我們需要判斷Http請求是來自手機端還是電腦端,關鍵是取得User-Agent的信息,進行篩選判斷即可。
核心類如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17public
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浏覽器"
);
}
來自: