piapia123
zh

User-Agent 解析

网络与网页

所有处理都在浏览器本地完成,数据不上传服务器

输入
输出

从一段 User-Agent 里读出浏览器、版本、操作系统、设备类型和渲染引擎,并把命中的那几条匹配规则一并列出来 —— 你能看到结论是怎么得出来的,而不是只拿到一个名字。这一点很重要:UA 是客户端可以随便写的一段字符串,浏览器之间还互相伪装,Chrome 的 UA 里写着 Safari,Edge 的 UA 里写着 Chrome 和 Safari。所以这里给出的是粗略线索,不是权威识别。要拿它做关键判断(风控、功能开关、设备统计)之前,请务必读完结果后面的 NOTES。

功能

  • 识别浏览器与版本,覆盖 Edge、Opera、Samsung Internet、Vivaldi、Yandex、UC 等
  • 识别渲染引擎:Blink、WebKit、Gecko、Trident、EdgeHTML、Presto
  • 识别操作系统与版本:Windows、macOS、iOS、iPadOS、Android、ChromeOS、Linux
  • 识别设备类型:桌面、手机、平板、爬虫与命令行客户端
  • 列出命中的匹配规则,结论的依据看得见
  • 输出里始终附带不确定性说明:哪两个系统分不开、哪个浏览器在伪装、哪里被冻结了
  • 提示伪装层数:这个串里同时出现了哪些浏览器标记、最终按哪一条判的
  • 可切换 JSON 输出,直接喂给脚本

使用方法

  1. 把 User-Agent 串粘贴进输入框
  2. 选择输出形态:可读报告或 JSON
  3. 想看判断依据时勾上「列出命中的匹配规则」
  4. 结果之后那段 NOTES 请读一遍 —— 它说明这次的结论有哪些不确定之处

常见问题

这个结果能当作准的吗?
不能。UA 是客户端自己写的一段字符串,任何人都能改成任意内容:爬虫伪装成 Chrome 是常规操作,浏览器也刻意互相借用标记。所以「解析出了什么」只能说明这段字符串里写了什么,不能说明对方真的是什么。要做关键判断,请用能力检测(例如判断某个 API 是否存在)或 UA Client Hints,而不是解析 UA 串。
为什么 Edge 的 UA 里会有 Chrome 和 Safari?
这是历史遗留的兼容做法。早年网站靠 UA 猜浏览器,新浏览器为了让老网站把自己当成认识的浏览器来处理,就把别人的标记抄进自己的 UA。Edge 抄了 Chrome 和 Safari,Chrome 抄了 Safari。所以工具按「最具体的规则优先」来判,Edge 的规则排在 Chrome 前面,结果里也会告诉你这段串上到底挂了几层标记。
为什么 Windows 10 和 Windows 11 分不出来?
微软没有为 Windows 11 改动 NT 版本号,两者都报 Windows NT 10.0。单看 UA 无法区分,所以结果写的是 Windows 10 / 11,而不是替你猜一个。
Brave 为什么识别不出来?
Brave 刻意不往 UA 里加自己的标记,它的 UA 与 Chrome 逐字节相同,同类情况还有一批基于 Chromium 的浏览器。这不是工具的缺陷,而是这类浏览器在设计上就不打算被识别出来。
设备类型是怎么判断的?
主要看 Mobile 标记、iPad/iPhone 这类关键词,以及 Android 串里有没有 Mobile。需要注意的是,iPadOS 13 之后 iPad 在桌面模式下发出的 UA 与 Mac 完全相同,逐字节都不差 —— 所以凡是判成 macOS 的结果,都要考虑它可能是 iPad。
UA 会被上传吗?
不会。解析全部在本地完成,页面不发任何请求。

相关工具