Spring--瀏覽器解析工具--UserAgentUtils

一、user-agent-utils簡介

user-agent-utils 是一個用來解析 User-Agent 字符串的 Java 類庫。
其能夠識別的內容包括:
超過150種不同的瀏覽器;
7種不同的瀏覽器類型;
超過60種不同的操作系統(tǒng);
6種不同的設備類型;
9種不同的渲染引擎;
9種不同的Web應用,如HttpClient、Bot。
GitHub主頁:https://github.com/HaraldWalker/user-agent-utils

二、Maven依賴

<dependency>
    <groupId>eu.bitwalker</groupId>
    <artifactId>UserAgentUtils</artifactId>
    <version>1.21</version>
</dependency>

三、用例

在web應用中我們通過request獲取用戶的Agent:

String agent=request.getHeader("User-Agent");

如下,我們獲取了一個agent的字符串:

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36"

由此,通過User-agent-utils解析:

String agent=request.getHeader("User-Agent");
//解析agent字符串
UserAgent userAgent = UserAgent.parseUserAgentString(agent);
//獲取瀏覽器對象
Browser browser = userAgent.getBrowser();
//獲取操作系統(tǒng)對象
OperatingSystem operatingSystem = userAgent.getOperatingSystem();

System.out.println("瀏覽器名:"+browser.getName());
System.out.println("瀏覽器類型:"+browser.getBrowserType());
System.out.println("瀏覽器家族:"+browser.getGroup());
System.out.println("瀏覽器生產廠商:"+browser.getManufacturer());
System.out.println("瀏覽器使用的渲染引擎:"+browser.getRenderingEngine());
System.out.println("瀏覽器版本:"+userAgent.getBrowserVersion());
        
System.out.println("操作系統(tǒng)名:"+operatingSystem.getName());
System.out.println("訪問設備類型:"+operatingSystem.getDeviceType());
System.out.println("操作系統(tǒng)家族:"+operatingSystem.getGroup());
System.out.println("操作系統(tǒng)生產廠商:"+operatingSystem.getManufacturer());

運行程序輸出內容:

瀏覽器名:Chrome 43
瀏覽器類型:WEB_BROWSER
瀏覽器家族:CHROME
瀏覽器生產廠商:GOOGLE
瀏覽器使用的渲染引擎:WEBKIT
瀏覽器版本:43.0.2357.81
操作系統(tǒng)名:Mac OS X
訪問設備類型:COMPUTER
操作系統(tǒng)家族:MAC_OS_X
操作系統(tǒng)生產廠商:APPLE

由此完成了用戶agent的解析。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容