跳到主要内容
实用工具2026-06-26Begin5 分钟阅读

在线 User-Agent 解析器:识别浏览器和设备信息

什么是 User-Agent 解析

User-Agent 解析是将浏览器发送的 User-Agent 字符串拆成结构化字段(浏览器、渲染引擎、操作系统、设备类型、CPU 架构等)的过程。本站解析器在浏览器本地完成,不上传字符串。

User-Agent 字符串结构

Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)
AppleWebKit/605.1.15 (KHTML, like Gecko)
Version/16.0 Mobile/15E148 Safari/604.1
│           │                    │        │
│           │                    │        └─ 浏览器版本
│           │                    └─ 浏览器名称
│           └─ 操作系统
└─ 引擎版本

解析结果示例(与工具 JSON 对齐)

粘贴上述 iPhone Safari UA 时,工具输出大致如下(字段名以页面「复制 JSON」为准):

{
  "raw": "Mozilla/5.0 (iPhone; …) Version/16.0 Mobile/15E148 Safari/604.1",
  "browser": { "name": "Safari", "version": "16.0", "major": "16" },
  "engine": { "name": "WebKit", "version": "605.1.15" },
  "os": { "name": "iOS", "version": "16.0" },
  "device": { "type": "mobile", "vendor": "Apple", "model": "iPhone" },
  "cpu": {},
  "isBot": false,
  "isMobile": true,
  "isTablet": false,
  "isDesktop": false,
  "isReducedUA": false
}

桌面 Chromium 常见还会带上 cpu.architecture(如 x86_64);命中冻结模式时 isReducedUA 为 true。

为什么需要 User-Agent 解析

  1. 数据分析:统计浏览器族与设备分布(优先记解析后的字段,而不是整串原文)
  2. 兼容性测试:识别旧版或异常客户端,决定是否提示升级
  3. 流量清洗:用签名层筛出 HeadlessChrome、curl、python-requests 等
  4. 安全分析:对照异常或伪造的 User-Agent与其它请求信号
  5. 响应式与 SEO:设备类型只作辅助信号;功能开关应走特性检测,而不是 UA 嗅探

如何使用在线工具

打开 User-Agent 解析器:

  1. 粘贴完整 UA,或点「检测我的 UA」
  2. 从示例库点选桌面 / 手机 / 平板 / 冻结 UA / 爬虫样本(含 WeChat、Samsung Internet、Reduced Chrome、Googlebot、HeadlessChrome、curl)
  3. 查看浏览器、渲染引擎、操作系统、设备、CPU 架构与分类徽章
  4. 若出现「冻结/降级 UA」,说明次版本号按 Chromium 降级策略不可信
  5. 一键复制 JSON

页面顶部的说明框写明了硬边界:只解析 UA 字符串,不读 Sec-CH-UA。

字段怎么读

字段含义常见坑
browser产品名与版本Edge/Opera 的 UA 里仍有 Chrome/,解析器按特异性优先匹配
engineBlink / WebKit / Gecko / TridentChromium 系都是 Blink;Safari 才是 WebKit
os系统族与版本Windows 10 与 11 在 UA 里同为 Windows NT 10.0,工具标为 Windows 10/11
device桌面/手机/平板/爬虫 + 厂商型号安卓平板常靠「无 Mobile 令牌」启发式,可被伪装
cpu.architecture如 x86_64、arm64许多移动 UA 不带架构令牌,字段会为空
isReducedUA是否像 Chromium 冻结串MAJOR.0.0.0 + 冻结平台令牌(如 macOS 10_15_7、Android 10; K)

UA-CH(Client Hints):能力边界

Chromium 推进 UA Reduction:字符串里的次版本被钉死,真实能力改由 Sec-CH-UA、Sec-CH-UA-Platform、Sec-CH-UA-Mobile 等头按需提供;高熵字段(完整版本、架构、型号)需服务端 Accept-CH 协商。

对本站工具的含义很直接:

  • 在做的事:启发式解析粘贴的 UA,标出冻结模式、引擎与架构令牌、常见 bot 签名
  • 不做的事:读取或模拟 Client Hints;从冻结串还原真实次版本或精确机型
  • 服务端迁移清单:双源合并(CH 优先,UA 兜底);统计只存浏览器族/系统族/是否 bot;原始 UA 按个人数据处理保留期

冻结串不是解析器坏了——是生态故意降熵。示例库里的「Chrome reduced」三组样本就是用来对照这个现象的。

Bot 检测三层启发式

  1. 签名匹配:HeadlessChrome、python-requests、curl、Go-http-client——抓朴素爬虫
  2. 不一致检测:UA 自称移动 iOS 却无版本令牌;或 UA 与 Sec-CH-UA-Platform 矛盾——抓改了 UA 没改配套信号的伪装(第二层需要 CH,本工具做不到)
  3. 行为层:频率、头顺序、TCP 指纹——需要基础设施

诚实边界:字符串层主要覆盖第一层,并给出字段级不一致的素材;宣称「仅靠 UA 抓住全部机器人」会过度承诺。

隐私:UA 字符串泄露了什么

完整 UA(浏览器版本 + 系统版本 + 安卓型号)是指纹碎片。解析侧纪律:日志优先写解析字段;分析里去掉设备型号;若必须存原文,按 GDPR 等法规设保留策略。本地解析是干净模式——字符串不出浏览器。

FAQ

User-Agent 字符串会被弃用吗?

Chrome 在推进 User-Agent Reduction:字符串仍会发送,但信息变薄。长期应把 Client Hints 当作能力来源,把 UA 当作遗留兼容字段。

如何检测机器人和爬虫?

先看签名关键词与示例库中的 bot 样本;恶意爬虫可以伪造 UA,还需结合请求频率、行为与URL 参数等上下文。

移动端和桌面端如何区分?

UA 中的 Mobile / iPhone / Android 等令牌是起点;再叠加视口宽度与触摸能力。勿把单一 UA 判断当成唯一真相。

为什么 Windows 显示成「Windows 10/11」?

两者在经典 UA 里都是 Windows NT 10.0。区分 10 与 11 需要 Client Hints 或其它信号,单靠本工具的字符串解析无法可靠拆开。

排查注记

字段表里每行都带「常见坑」,且多是 UA 生态的历史债:Windows 10 与 11 在串里同为 NT 10.0、只能标成 Windows 10/11,Edge 的 UA 里仍带 Chrome/、需按特异性优先匹配。冻结 UA 单独解释了一句要紧的:冻结串不是解析器坏了,是生态故意降熵——示例库里的 Chrome reduced 三组样本就是用来对照这个现象的。边界声明贯穿全文:只解析 UA 字符串、不读 Client Hints;bot 检测三层启发式里字符串层只覆盖第一层,宣称「仅靠 UA 抓住全部机器人」属于过度承诺。


ToolVault 工具匣 出品的开发者指南。首页 汇集了更多浏览器本地工具。