一、user-agent-utils简介
user-agent-utils 是一个用来解析 User-Agent 字符串的 Java 类库。
其能够识别的内容包括:
超过150种不同的浏览器;
7种不同的浏览器类型;
超过60种不同的操作系统;
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");
"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(); //获取操作系统对象 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("操作系统名:"+operatingSystem.getName()); System.out.println("访问设备类型:"+operatingSystem.getDeviceType()); System.out.println("操作系统家族:"+operatingSystem.getGroup()); System.out.println("操作系统生产厂商:"+operatingSystem.getManufacturer());
运行程序输出内容:
浏览器名:Chrome 43 浏览器类型:WEB_BROWSER 浏览器家族:CHROME 浏览器生产厂商:GOOGLE 浏览器使用的渲染引擎:WEBKIT 浏览器版本:43.0.2357.81 操作系统名:Mac OS X 访问设备类型:COMPUTER 操作系统家族:MAC_OS_X 操作系统生产厂商:APPLE
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2021-03-17 接口限流 guava(RateLimter的api)