使用yauaa解析userAgent
程序员文章站
2022-03-02 23:03:20
...
通过yauaa解析UserAgent
什么是yauaa
使用测试
-
导入依赖
<!-- 解析客户端操作系统、浏览器 --> <dependency> <groupId>nl.basjes.parse.useragent</groupId> <artifactId>yauaa</artifactId> <version>5.20</version> </dependency>
-
创建一个工具类
UserAgentUtils.java
@Component public class UserAgentUtils { private UserAgentAnalyzer uaa; public UserAgentUtils() { this.uaa = UserAgentAnalyzer .newBuilder() .hideMatcherLoadStats() .withField("OperatingSystemNameVersionMajor") .withField("AgentNameVersion") .build(); } /** * 从User-Agent解析客户端操作系统和浏览器版本 * * @param userAgent * @return */ public Map<String, String> parseOsAndBrowser(String userAgent) { UserAgent agent = uaa.parse(userAgent); String os = agent.getValue("OperatingSystemNameVersionMajor"); String browser = agent.getValue("AgentNameVersion"); Map<String, String> map = new HashMap<>(); map.put("os", os); map.put("browser", browser); return map; } }
-
在测试类中进行测试
- 随便访问一个请求 找到userAgent用于测试
-
编写代码测试
@Test //使用yauaa解析user-agent public void test1(){ String userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"; Map<String, String> userAgentMap = userAgentUtils.parseOsAndBrowser(userAgent); System.err.println(userAgentMap); String os = userAgentMap.get("os"); String browser = userAgentMap.get("browser"); System.err.println(os); System.err.println(browser); }
在工具类中 只获取了操作系统和浏览器的名称版本(如有其他需要可自行添加)
-
结果
下一篇: POJ 2659 Raid|分治法
推荐阅读
-
Laravel源码解析之路由的使用和示例详解
-
一个删选数据的例子,使用GROUP、DISTINCT实例解析
-
深入解析iOS应用开发中对设计模式中的桥接模式的使用
-
PHP使用Mysql事务实例解析
-
使用Python生成Shell命令,批量执行程序代码解析
-
bootstrap网格系统使用方法解析
-
bootstrap按钮插件(Button)使用方法解析
-
解析php5配置使用pdo
-
JAVA使用POI(XSSFWORKBOOK)读取EXCEL文件过程解析
-
Mybaits 源码解析 (十一)----- 设计模式精妙使用:静态代理和动态代理结合使用:@MapperScan将Mapper接口生成代理注入到Spring