• 浏览器解析工具UserAgentUtils


    一、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
  • 相关阅读:
    Web前端笔记和简历模板
    三种 Loading 制作方案
    注册中心之健康检测机制
    HTTPS与加密
    多线程-JUC
    date日期类型
    spring配置文件约束
    Tomcat web.xml 中的listener、 filter、servlet 加载顺序
    java 日志框架总结
    mysql常用命令
  • 原文地址:https://www.cnblogs.com/lshan/p/16019889.html
Copyright © 2020-2023  润新知