美文网首页
UserAgent解析工具调研

UserAgent解析工具调研

作者: 社会我大爷 | 来源:发表于2022-04-19 22:40 被阅读0次

UserAgent可以获取的信息

browserType AgentName
代理名称-浏览器类型

browserCore LayoutEngineName
布局引擎名称 -浏览器核心

osVersion OperatingSystemNameVersion
系统版本

deviceTrademark DeviceBrand
设备品牌 制造商

equipmentModel DeviceName
设备型号

测试UserAgent示例

Mozilla/5.0 (Linux; Android 9; MIX 2S Build/PKQ1.180729.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/72.0.3626.121 Mobile Safari/537.36 Shengbei/7.4.0 ShengID/c5a521fb890c0abd

java类UserAgent解析工具类评估

  • user-agent-utils
    jar依赖:

    <dependency>
    <groupId>nl.bitwalker</groupId>
    <artifactId>UserAgentUtils</artifactId>
    <version>1.2.4</version>
    </dependency>
    

    解析结果:Chrome/WEB_BROWSER WEBKIT ANDROID Google Inc. MOBILE。

    测试结论:类库简单,但准确度很低。

  • yauaa

    jar依赖:

    <dependency>
    <groupId>nl.basjes.parse.useragent</groupId>
    <artifactId>yauaa</artifactId>
    <version>5.14.1</version>
    </dependency>
    

    解析结果:Chrome Webview Blink Android 9 Xiaomi Xiaomi MIX 2S。

    测试结论:解析结果全面、准确度高,但绕不开单线程锁。

  • UASparser

    jar依赖:

    <dependency>
    <groupId>cz.mallat.uasparser</groupId>
    <artifactId>uasparser</artifactId>
    <version>0.6.2</version>
    </dependency>
    

    解析结果:Chrome MobileAndroid Google, Inc.。

    测试结论:jdk1.7以上版本支持,但准确度很低。

  • uap-java

    jar依赖:

    <dependency>
    <groupId>io.divolte.uaparser</groupId>
    <artifactId>uap-java</artifactId>
    <version>0.6.2</version>
    </dependency>
    

    解析结果:Chrome Mobile WebView Android 9 XiaoMi MIX 2S。

    测试结论:准确度高,但存在性能问题,解析慢。

结论

优点:yauaa工具类解析UserAgent获取的信息更全面,更准确;缺点:存在单线程锁的问题,容易导致线程阻塞,需要对其源码进行二次开发;改造方案:1、分段锁+多例 2、优化源码;二次开发难度不大,综合推荐使用yauaa工具。

其在线UserAgent解析体验工具:https://try.yauaa.basjes.nl/

yauaa相关类库

常用的解析类及字段

相关文章

网友评论

      本文标题:UserAgent解析工具调研

      本文链接:https://www.haomeiwen.com/subject/ntxmertx.html