某些情形,我们需要判断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浏览器"
);
}
|
来自: