From 1050d32abb2f1fbaa0ceee10d919d5eaf07a6c44 Mon Sep 17 00:00:00 2001 From: qiulaidongfeng <2645477756@qq.com> Date: Sat, 10 May 2025 20:48:26 +0800 Subject: [PATCH] fix: Correctly identify QQBrowser Fixes #57 --- ua.go | 5 +++++ ua_test.go | 1 + 2 files changed, 6 insertions(+) diff --git a/ua.go b/ua.go index 4769b81..97fa800 100644 --- a/ua.go +++ b/ua.go @@ -315,6 +315,11 @@ func Parse(userAgent string) UserAgent { ua.Version = tokens.get(NetFront) ua.Mobile = true + case tokens.get("QQBrowser") != "": + ua.Name = "QQBrowser" + ua.Version = tokens.get("QQBrowser") + ua.Mobile = ua.IsAndroid() || ua.IsIOS() + // if Chrome and Safari defined, find any other token sent descr case tokens.exists(Chrome) && tokens.exists(Safari): name := tokens.findBestMatch(true) diff --git a/ua_test.go b/ua_test.go index 2f1cec8..e1e88ad 100644 --- a/ua_test.go +++ b/ua_test.go @@ -23,6 +23,7 @@ var testTable = [][]string{ {"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2; GWX:RED)", ua.InternetExplorer, "8.0", "desktop", "Windows"}, {"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) NS8/0.9.6", ua.InternetExplorer, "6.0", "desktop", "Windows"}, {"Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063", ua.Edge, "15.15063", "desktop", "Windows"}, + {"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.97 Safari/537.36 Core/1.116.489.400 QQBrowser/13.7.6351.400", "QQBrowser", "13.7.6351.400"}, // iPhone {"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1", ua.Safari, "10.0", "mobile", "iOS", "iPhone"},