UserAgent增加百度浏览器识别

This commit is contained in:
Looly 2023-09-25 17:31:10 +08:00
parent f21dfc927d
commit a341bf04bd
3 changed files with 75 additions and 56 deletions

View File

@ -2,11 +2,12 @@
# 🚀Changelog
-------------------------------------------------------------------------------------------------------------
# 5.8.23(2023-09-21)
# 5.8.23(2023-09-25)
### 🐣新特性
* 【json 】 改进TemporalAccessorSerializer支持dayOfMonth和month枚举名issue#I82AM8@Gitee
* 【core 】 新增ProxySocketFactory
* 【http 】 UserAgent增加百度浏览器识别issue#I847JY@Gitee
### 🐞Bug修复
* 【cron 】 修复Cron表达式range解析错误问题issue#I82CSH@Gitee

View File

@ -75,7 +75,9 @@ public class Browser extends UserAgentInfo {
new Browser("Yammer Desktop", "AdobeAir", "([\\d\\w\\.\\-]+)\\/Yammer"),
new Browser("Yammer Mobile", "Yammer[\\s]+([\\d\\w\\.\\-]+)", "Yammer[\\s]+([\\d\\w\\.\\-]+)"),
new Browser("Apache HTTP Client", "Apache\\\\-HttpClient", "Apache\\-HttpClient\\/([\\d\\w\\.\\-]+)"),
new Browser("BlackBerry", "BlackBerry", "BlackBerry[\\d]+\\/([\\d\\w\\.\\-]+)")
new Browser("BlackBerry", "BlackBerry", "BlackBerry[\\d]+\\/([\\d\\w\\.\\-]+)"),
// issue#I847JY 百度浏览器
new Browser("Baidu", "Baidu", "baiduboxapp\\/([\\d\\w\\.\\-]+)")
);
/**

View File

@ -456,4 +456,20 @@ public class UserAgentUtilTest {
Assert.assertEquals("iPhone", ua2.getPlatform().toString());
Assert.assertTrue(ua2.isMobile());
}
@Test
public void issueI847JYTest() {
final String s = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) " +
"Mobile/15E148 SP-engine/2.80.0 main%2F1.0 baiduboxapp/13.42.0.11 (Baidu; P2 17.0) NABar/1.0 themeUA=Them";
final UserAgent ua2 = UserAgentUtil.parse(s);
Assert.assertEquals("Baidu", ua2.getBrowser().toString());
Assert.assertEquals("13.42.0.11", ua2.getVersion());
Assert.assertEquals("Webkit", ua2.getEngine().toString());
Assert.assertEquals("605.1.15", ua2.getEngineVersion());
Assert.assertEquals("iPhone", ua2.getOs().toString());
Assert.assertEquals("17_0", ua2.getOsVersion());
Assert.assertEquals("iPhone", ua2.getPlatform().toString());
Assert.assertTrue(ua2.isMobile());
}
}