ToolAct工具行动

UA 解析器

在线解析 User-Agent 字符串,识别浏览器、操作系统和设备信息

User-Agent
字符数: 0

解析结果

在此粘贴 User-Agent 字符串...

什么是 User-Agent?

UA 解析工具会把 User-Agent 字符串拆解成浏览器、操作系统、设备类型、渲染引擎,以及有时包含的爬虫或客户端线索。User-Agent 常出现在日志、数据分析、客服工单、兼容性测试和安全排查中,可以帮助判断某次请求来自什么类型的客户端。但它不是可靠身份标识:UA 可以被伪造、缩短、因隐私策略被修改,也可能被现代 Client Hints 补充或替代。这个工具适合快速阅读和对比 UA,但不应单独用于权限、反欺诈、个性化或关键设备判断。需要准确性时,应结合服务端日志、特性检测和客户端检查。

如何使用

如何使用

  1. 在输入框中粘贴要解析的 User-Agent 字符串
  2. 或点击“解析我的 UA”以自动检测当前浏览器的 User-Agent
  3. 解析结果将显示在下方,包含浏览器、系统和设备详情
  4. 点击“复制 UA”以复制原始 User-Agent 字符串

解析限制

  • User-Agent 字符串可能被伪造、冻结或被现代浏览器简化,因此请将解析结果视为参考。
  • 对于功能决策,请尽可能优先使用能力检测而非浏览器名称检查。

使用场景

检查来自客服工单的未知 User-Agent粘贴从服务器日志、浏览器 DevTools 或分析面板中复制的 User-Agent 字符串,查看浏览器、操作系统、设备和渲染引擎的分解结果。当客户报告布局、字体或功能问题而你只有原始 UA 可用时,这是开始兼容性排查的最快方式。将解析出的引擎版本与特性检测结果交叉验证,可以排除伪造或冻结的值。
检查自己浏览器的 UA 是否符合当前标准「解析我的 UA」操作会将 navigator.userAgent 填入输入框并立即解析。将结果与 Sec-CH-UA、各大浏览器发布的冻结/精简 UA 列表以及你的特性检测逻辑进行对比,确保分析分群和功能开关与客户端的实际能力一致。解析出的 UA 与特性检测之间的不匹配通常是 UA 精简策略的第一个信号。
标记疑似爬虫和抓取程序除了解析库本身的解析外,工具还会检查常见的爬虫模式,如 bot、crawler、spider、Googlebot、Bingbot、Baiduspider、YandexBot、DuckDuckBot、facebot 和 ia_archiver。bot 字段使自动化流量更容易识别。建议将 bot 标记与服务端限速结合使用,因为基于关键字的检测可以被模仿真实浏览器 UA 的顽固爬虫绕过。
对比两个 User-Agent 字符串粘贴一个桌面 Chrome UA 和一个移动 Safari UA,然后并排对比引擎、操作系统和设备类型字段,找出为什么响应式分支在一个客户端上触发而另一个没有。同样的方法可以揭示 Chromium 浏览器中具有空版本段的冻结或精简 UA 字符串。并排对比通常比在两台设备上重新运行同一页面来确认布局回归更快。
检测 Chrome 精简 UA、Client Hints 和移动端标记现代 Chrome 100+ 使用精简 UA 字符串,将次版本号冻结为 0.0.0,并将真实版本数据转移到 Sec-CH-UA-Full-Version-List;将解析出的主版本号与 Client Hints 头交叉验证以捕获精简情况。移动端检测依赖关键字标记(iPhone、Android、Mobile)而非屏幕尺寸,现代 Client Hints 提供的 Sec-CH-UA-Mobile 布尔值比 UA 字符串本身更可靠。在做出设备分类决策前,务必结合 UA 解析、Client Hints 和特性检测。

技术原理

User-Agent 头由 RFC 7231 §5.5.3 定义为产品标记(product/version)和括号注释的序列,但实际上每个现代浏览器发送的字符串都以字面量 Mozilla/5.0 开头。该前缀可追溯到 1993 年,当时网站通过检测 Mozilla 来识别 NCSA Mosaic;Netscape 采用了 Mozilla,Internet Explorer 3 为兼容性也添加了此标记,此后每个浏览器分支(Safari、Chrome、Edge、Opera)都保留了这个传统。没有正式语法规定操作系统放在哪里、引擎版本放在哪里、或当多个浏览器互相列出对方用于兼容性时哪个标记优先,因此解析是通过针对浏览器、引擎、操作系统、设备四个经典维度的优先级正则表达式列表来完成的。开源库如 ua-parser-js、bowser 以及 UAParser 的 Lua/Python 移植都维护相同的模式文件。自 2022 年起 Chrome 推出了 UA 精简:浏览器版本被冻结为 MAJOR.0.0.0,平台特定的次要标记被删除,因此解析出的 Chrome 120.0.0.0 实际表示 Windows 10 或 11 上的 Chrome 120 某个版本,精确的构建号隐藏在 Client Hints 中。现代替代方案是 User-Agent Client Hints(draft-ietf-httpbis-client-hints),在每次请求中暴露 Sec-CH-UA、Sec-CH-UA-Mobile 和 Sec-CH-UA-Platform,并通过 navigator.userAgentData.getHighEntropyValues() 获取高熵值(型号、完整版本、架构)。UA 解析器在日志审查和爬虫识别中仍然有用,但功能检测和 Client Hints 应该驱动任何运行时分支逻辑。

  • RFC 7231 §5.5.3 将 User-Agent 定义为产品标记加注释,没有关于操作系统或设备的语法——每个解析器都维护自己的正则表达式列表
  • Mozilla/5.0 前缀是 1993 年 Mosaic 时代的兼容性遗留;Safari、Chrome 和 Edge 都保留它以避免破坏浏览器嗅探网站
  • Chrome UA 精简(2022-2023 年逐步推出)将次要版本冻结为 0.0.0 并固定平台字符串——真实构建号存放在 Sec-CH-UA-Full-Version-List 中
  • User-Agent Client Hints 在每次请求中暴露 Sec-CH-UA、Sec-CH-UA-Mobile、Sec-CH-UA-Platform;高熵字段需要调用 navigator.userAgentData.getHighEntropyValues(['model','platformVersion','architecture'])
  • 通过关键字(bot、crawler、spider、Googlebot、Bingbot、Baiduspider、YandexBot)检测爬虫可捕获合规爬虫,但无法捕获复制真实 Chrome UA 的对抗性抓取程序——需配合限速和行为信号
  • 移动设备与平板的判定依据标记(Mobile、Tablet、iPhone、iPad)而非屏幕尺寸;不含 Mobile 标记的 Android UA 通常被大多数解析器视为平板
  • 基于 Vary: User-Agent 做缓存键的缓存和 CDN 会将单个资源分裂为数千个缓存条目——优先使用 Vary: Sec-CH-UA-Mobile 或接受较低的命中率

示例

Chrome 浏览器

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36

iPhone Safari

Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 Version/17.0 Mobile/15E148 Safari/604.1

Google 爬虫

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

常见问题

User-Agent 解析能提取出哪些信息?

浏览器名称及版本(如「Chrome 124」)、操作系统及版本、设备类型(桌面/移动/平板)、CPU 架构、渲染引擎(Blink/Gecko/WebKit),以及当 UA 匹配已知爬虫特征时的爬虫/机器人识别结果。

UA 解析的准确度如何?

对常见、主流的浏览器表现良好。在以下场景容易失准:解析库尚未更新的全新版本浏览器;为绕过检测而模仿 Chrome/Safari 的浏览器;伪装成真实 UA 的爬虫;以及 UA 标识为宿主应用而非内核的嵌入式 WebView。

为什么 User-Agent 字符串变得越来越没用?

浏览器厂商(以 Chrome 为首)正在「冻结」UA 字符串以减少指纹识别,并改用 UA 客户端提示(Sec-CH-UA-* 请求头)替代。未来几年,UA 字符串会逐渐汇报为低熵、稳定的固定值,真实的设备数据会迁移到客户端提示中。代码也应相应迁移。

应该用 UA 检测来做功能开关吗?

几乎永远不该。UA 可能造假,而且即便同一浏览器,不同版本的功能支持也不一样。请使用 `if ('serviceWorker' in navigator)` 这类特性检测。UA 检测用于数据分析、客服工单、bug 报告归类是可以的——但不要用它来决定调用哪个 API。

我可以解析自己的 UA 吗?

可以。页面顶部会显示你浏览器当前的 UA 并解析为各个组成部分。当你想确切知道浏览器向服务器报告的版本信息时很有用。

爬虫识别效果如何?

解析器能标记出「自报家门」的良性爬虫(Googlebot、Bingbot、Slackbot)。但恶意爬虫通常会冒充真实浏览器,因此仅依靠 UA 来识别爬虫效果有限。要实现真正的防护,需要结合限流、CAPTCHA 和行为信号。

UA 会被上传到任何地方吗?

不会。解析在浏览器中通过 JS 库(通常是 ua-parser-js)完成,粘贴的 UA 字符串不会被发送到服务器。