JAVA-判断请求来自PC端还是手机端
某些情形,我们需要判断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浏览器" ); } |
来自: