解析 String ua = request.getHeader("User-Agent"); @param ua 请求头字段包含有关发起请求的用户代理的信息
(String ua)
| 17 | * @param ua 请求头字段包含有关发起请求的用户代理的信息 |
| 18 | */ |
| 19 | public static AccessInfo analysis(String ua){ |
| 20 | if(ua != null && !ua.trim().isEmpty()){ |
| 21 | //转成UserAgent对象 |
| 22 | UserAgent userAgent = UserAgent.parseUserAgentString(ua); |
| 23 | AccessInfo accessInfo = new AccessInfo(); |
| 24 | //获取浏览器信息 |
| 25 | Browser browser = userAgent.getBrowser(); |
| 26 | if(browser != null){ |
| 27 | String browserName = browser.getName();// 浏览器名称 |
| 28 | accessInfo.setBrowserName(browserName);//浏览器名称 |
| 29 | |
| 30 | if(browser.getGroup() != null){ |
| 31 | String group = browser.getGroup().getName();// 浏览器大类 |
| 32 | accessInfo.setGroup(group);//浏览器大类 |
| 33 | } |
| 34 | } |
| 35 | |
| 36 | |
| 37 | Version browserVersion = userAgent.getBrowserVersion();// 详细版本 |
| 38 | if(browserVersion != null){ |
| 39 | String version = browserVersion.getMajorVersion();// 浏览器主版本 |
| 40 | accessInfo.setBrowserVersion(browserVersion.getVersion());//详细版本 |
| 41 | accessInfo.setVersion(version);//浏览器主版本 |
| 42 | |
| 43 | } |
| 44 | |
| 45 | // System.out.println("浏览器名称 "+browserName); |
| 46 | // System.out.println("浏览器大类 "+group); |
| 47 | // System.out.println("详细版本 "+browserVersion); |
| 48 | // System.out.println("浏览器主版本 "+version); |
| 49 | // System.out.println("访问设备系统 "+userAgent.getOperatingSystem());// 访问设备系统 |
| 50 | //系统名称 |
| 51 | // String system = userAgent.getOperatingSystem().getName(); |
| 52 | // System.out.println("访问设备类型 "+userAgent.getOperatingSystem().getDeviceType());// 访问设备类型 |
| 53 | // System.out.println("访问设备制造厂商 "+userAgent.getOperatingSystem().getManufacturer());// 访问设备制造厂商 |
| 54 | |
| 55 | |
| 56 | if(userAgent.getOperatingSystem() != null){ |
| 57 | accessInfo.setOperatingSystem(userAgent.getOperatingSystem().toString());//访问设备系统 |
| 58 | if(userAgent.getOperatingSystem().getDeviceType() != null && userAgent.getOperatingSystem().getDeviceType().getName() != null){ |
| 59 | if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Computer")){ |
| 60 | accessInfo.setDeviceType("电脑");//访问设备类型 |
| 61 | }else if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Mobile")){ |
| 62 | accessInfo.setDeviceType("手机");//访问设备类型 |
| 63 | }else if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Tablet")){ |
| 64 | accessInfo.setDeviceType("平板");//访问设备类型 |
| 65 | }else if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Game console")){ |
| 66 | accessInfo.setDeviceType("游戏机");//访问设备类型 |
| 67 | }else if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Digital media receiver")){ |
| 68 | accessInfo.setDeviceType("数字媒体接收器");//访问设备类型 |
| 69 | }else if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Wearable computer")){ |
| 70 | accessInfo.setDeviceType("可穿戴设备");//访问设备类型 |
| 71 | }else if(userAgent.getOperatingSystem().getDeviceType().getName().equals("Unknown")){ |
| 72 | accessInfo.setDeviceType("未知设备");//访问设备类型 |
| 73 | } |
| 74 | |
| 75 | } |
| 76 |