From 6570ad6625555b655912bb9ab71345314deee5e7 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 14 Jan 2022 09:49:15 +0800 Subject: [PATCH] add ua --- .../java/cn/hutool/http/useragent/Browser.java | 3 ++- .../hutool/http/useragent/UserAgentUtilTest.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java b/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java index 97de1025c..a858106af 100644 --- a/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java +++ b/hutool-http/src/main/java/cn/hutool/http/useragent/Browser.java @@ -47,7 +47,8 @@ public class Browser extends UserAgentInfo { new Browser("UCBrowser", "UC?Browser", "UC?Browser\\/([\\d\\w\\.\\-]+)"), // 夸克浏览器 new Browser("Quark", "Quark", Other_Version), - + // 联想浏览器 + new Browser("Lenovo", "SLBrowser", "SLBrowser/([\\d\\w\\.\\-]+)"), new Browser("MSEdge", "Edge|Edg", "(?:edge|Edg|EdgA)\\/([\\d\\w\\.\\-]+)"), new Browser("Chrome", "chrome", Other_Version), new Browser("Firefox", "firefox", Other_Version), diff --git a/hutool-http/src/test/java/cn/hutool/http/useragent/UserAgentUtilTest.java b/hutool-http/src/test/java/cn/hutool/http/useragent/UserAgentUtilTest.java index 499cf781d..d20059849 100644 --- a/hutool-http/src/test/java/cn/hutool/http/useragent/UserAgentUtilTest.java +++ b/hutool-http/src/test/java/cn/hutool/http/useragent/UserAgentUtilTest.java @@ -373,4 +373,20 @@ public class UserAgentUtilTest { Assert.assertEquals("Android", ua.getPlatform().toString()); Assert.assertTrue(ua.isMobile()); } + + @Test + public void parseLenovoTest(){ + // https://gitee.com/dromara/hutool/issues/I4QBMD + String uaStr = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/30"; + final UserAgent ua = UserAgentUtil.parse(uaStr); + + Assert.assertEquals("Lenovo", ua.getBrowser().toString()); + Assert.assertEquals("7.0.0.6241", ua.getVersion()); + Assert.assertEquals("Webkit", ua.getEngine().toString()); + Assert.assertEquals("537.36", ua.getEngineVersion()); + Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString()); + Assert.assertEquals("10.0", ua.getOsVersion()); + Assert.assertEquals("Windows", ua.getPlatform().toString()); + Assert.assertFalse(ua.isMobile()); + } }