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