跳到正文

User-Agent 解析

User-Agent Parser

把 user-agent 字符串拆成浏览器、引擎、操作系统和设备,并把你自己的那条列在旁边对照。

把 User-Agent 字符串拆成它声称的浏览器、引擎、操作系统和设备,并在下方显示 RFC 9110 的产品/注释结构。它读的是字符串本身而不是查设备数据库,所以没有任何东西被说得比实际更确定。

🔒 完全在你的浏览器里运行user-agentparsebrowser

User-Agent 字符串

这是对字符串结构的解读,不是设备数据库。Android 的型号标记原样显示,绝不换成商品名。现在的浏览器会故意冻住 UA 的一部分:Windows 11 也说 NT 10.0,macOS 被钉在 10.15.7,Android 型号写作“K”。凡是已知字符串说少了的地方,解析结果会直说,而不是把它当成事实摆出来。

怎么用

  1. 留空就看你自己的

    没有输入时页面解析你自己的 User-Agent,这是查看网站从你这里看到了什么最快的办法。

  2. 或者从日志里粘一条

    访问日志的一行、一张支持工单、一份分析导出。爬虫也会被识别,并用红色显示,所以流量里的机器人一目了然。

  3. 读说明

    在已知字符串会少报的地方——冻结的操作系统版本、被遮住的 Android 型号——解析会说出来,而不是把冻结的值当事实报告。

常见问题

为什么我的 Windows 11 显示 NT 10.0?

因为浏览器发的就是这个。微软从没为 Windows 11 提升过 UA 里的平台版本,所以只凭 User-Agent 分不出 10 和 11。只有 Client Hints API 能区分它们,而且要经过授权。

为什么 Android 型号只是「K」?

Chrome 特意冻结了它,原因和 macOS 被钉在 10.15.7 一样:型号标记是很强的指纹信号。如果你需要真实设备,Client Hints 是受支持的途径。

为什么每个浏览器都说「Mozilla/5.0」?

三十年来服务器一直按名字嗅探能力。每个新浏览器都自称是上一个流行的浏览器,好拿到页面的好版本,而且谁也停不下来。摘要下方的结构视图显示了这段历史的层层堆叠。

我该用 User-Agent 做特性检测吗?

不该。它是一个声明,可以随意伪造,在一些地方被有意冻结,对每一个还没发布的浏览器都是错的。改为检测特性本身;UA 只用于统计和 bug 报告。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。