近期开发项目有解析HTTP的UserAgent字段获取客户端的浏览器和操作系统等信息的需求,找了当下主流的UserAgent解析Java依赖,对比如下:
包名称 | mvn被引用数 | 最新版本 | 最新版本更新时间 | License类型 | 官网 | git star |
uasparser | 10 | 0.6.2 | 2014/12/3 | LGPL | https://github.com/chetan/UASparser | 68 |
UserAgentUtils | 167 | 1.21 | 2018/1/24 | BSD | https://www.bitwalker.eu/software/user-agent-utils | 914 |
yauaa | 53 | 7.26.1 | 2024/4/15 | Apache 2.0 | https://yauaa.basjes.nl | 729 |
uap-java | 22 | 1.6.1 | 2023/11/28 | Apache 2.0 | https://github.com/ua-parser/uap-java?tab=readme-ov-file | 372 |
横向对比,yauaa是个不错的选择:
1、社区比较活跃近几年基本每个月都有新版本发布
2、License类型比较友好,属于免费使用随便修改的类型
3、实际本机(Intel(R) Core(TM) i5-10505 CPU @ 3.20GHz 3.20 GHz)跑了一下解析效率,10万条UserAgent信息解析基本都能在200毫秒以内完成,需要注意UserAgentAnalyzer建议写成常量build一次,不要每次解析都build一遍。
具体使用方法参考官网(可能要科学上网),随便百度一下关键字yauaa也一堆样例。