UserAgent增加百度浏览器识别

This commit is contained in:
Looly 2023-09-25 17:31:25 +08:00
parent d27f91c083
commit 0034bf4d8b
2 changed files with 75 additions and 57 deletions

View File

@ -89,7 +89,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\\.\\-]+)")
);
/**
@ -130,7 +132,7 @@ public class Browser extends UserAgentInfo {
* @return 版本
*/
public String getVersion(final String userAgentString) {
if(isUnknown()){
if (isUnknown()) {
return null;
}
return ReUtil.getGroup1(this.versionPattern, userAgentString);

View File

@ -468,4 +468,20 @@ public class UserAgentUtilTest {
Assertions.assertEquals("iPhone", ua2.getPlatform().toString());
Assertions.assertTrue(ua2.isMobile());
}
@Test
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);
Assertions.assertEquals("Baidu", ua2.getBrowser().toString());
Assertions.assertEquals("13.42.0.11", ua2.getVersion());
Assertions.assertEquals("Webkit", ua2.getEngine().toString());
Assertions.assertEquals("605.1.15", ua2.getEngineVersion());
Assertions.assertEquals("iPhone", ua2.getOs().toString());
Assertions.assertEquals("17_0", ua2.getOsVersion());
Assertions.assertEquals("iPhone", ua2.getPlatform().toString());
Assertions.assertTrue(ua2.isMobile());
}
}