Class UserAgents
java.lang.Object
tech.riemann.nif.utils.ua.UserAgents
用户代理解析工具类
用于解析用户代理字符串,获取设备类型、操作系统、浏览器等信息
基于UserAgentAnalyzer库实现,支持解析现代浏览器的Sec-Ch-Ua系列头部
主要功能: 1. 解析用户代理字符串获取详细信息 2. 从HTTP请求中提取用户代理相关头部 3. 支持缓存以提高解析性能
- Author:
- Kerbores(kerbores@riemann.tech)
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic UserAgentsinstance()返回UserAgents的实例,该实例用于解析用户代理字符串 解析用户代理字符串以获取设备类别、操作系统名称和版本、代理名称和版本等信息parse(jakarta.servlet.http.HttpServletRequest request) 从HttpServletRequest中提取并解析用户代理字符串,创建并返回一个Agent对象解析用户代理字符串并返回Agent对象 该方法首先使用UserAgentAnalyzerUtils解析用户代理字符串, 然后使用Builder模式构建并返回一个包含解析结果的Agent对象解析请求头中的用户代理信息userAgentHeaders(jakarta.servlet.http.HttpServletRequest request) 从HTTP请求中提取用户代理相关的头部信息 此方法旨在通过请求对象获取一系列预定义头部字段的方法 它使用TreeMap来确保头部字段按字母顺序排列
-
Constructor Details
-
UserAgents
public UserAgents()
-
-
Method Details
-
instance
返回UserAgents的实例,该实例用于解析用户代理字符串 解析用户代理字符串以获取设备类别、操作系统名称和版本、代理名称和版本等信息M52: 单例(volatile 双检锁)——只构建一次 UserAgentAnalyzer
- Returns:
- UserAgents的实例,用于解析用户代理信息
-
parse
解析用户代理字符串并返回Agent对象 该方法首先使用UserAgentAnalyzerUtils解析用户代理字符串, 然后使用Builder模式构建并返回一个包含解析结果的Agent对象- Parameters:
ua- 用户代理字符串,表示客户端的请求信息- Returns:
- Agent对象,包含设备类型、操作系统、浏览器等信息
-
userAgentHeaders
-
parse
解析请求头中的用户代理信息- Parameters:
requestHeaders- 请求头信息,预期包含用户代理字符串- Returns:
- Agent对象,包含了解析后的设备、操作系统、浏览器等信息
-
parse
从HttpServletRequest中提取并解析用户代理字符串,创建并返回一个Agent对象- Parameters:
request- HttpServletRequest对象,包含了HTTP请求的信息- Returns:
- 返回一个包含用户代理信息的Agent对象
-