MCPcopy Create free account
hub / github.com/diyhi/bbs / analysis

Method analysis

src/main/java/cms/utils/UserAgentAnalysis.java:19–88  ·  view source on GitHub ↗

解析 String ua = request.getHeader("User-Agent"); @param ua 请求头字段包含有关发起请求的用户代理的信息

(String ua)

Source from the content-addressed store, hash-verified

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

Callers 1

addPVMethod · 0.95

Calls 4

isEmptyMethod · 0.45
getNameMethod · 0.45
toStringMethod · 0.45
equalsMethod · 0.45

Tested by

no test coverage detected