在线 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 解析
- 数据分析:统计浏览器族与设备分布(优先记解析后的字段,而不是整串原文)
- 兼容性测试:识别旧版或异常客户端,决定是否提示升级
- 流量清洗:用签名层筛出 HeadlessChrome、curl、python-requests 等
- 安全分析:对照异常或伪造的 User-Agent与其它请求信号
- 响应式与 SEO:设备类型只作辅助信号;功能开关应走特性检测,而不是 UA 嗅探
如何使用在线工具
打开 User-Agent 解析器:
- 粘贴完整 UA,或点「检测我的 UA」
- 从示例库点选桌面 / 手机 / 平板 / 冻结 UA / 爬虫样本(含 WeChat、Samsung Internet、Reduced Chrome、Googlebot、HeadlessChrome、curl)
- 查看浏览器、渲染引擎、操作系统、设备、CPU 架构与分类徽章
- 若出现「冻结/降级 UA」,说明次版本号按 Chromium 降级策略不可信
- 一键复制 JSON
页面顶部的说明框写明了硬边界:只解析 UA 字符串,不读 Sec-CH-UA。
字段怎么读
| 字段 | 含义 | 常见坑 |
|---|---|---|
browser | 产品名与版本 | Edge/Opera 的 UA 里仍有 Chrome/,解析器按特异性优先匹配 |
engine | Blink / WebKit / Gecko / Trident | Chromium 系都是 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 检测三层启发式
- 签名匹配:HeadlessChrome、python-requests、curl、Go-http-client——抓朴素爬虫
- 不一致检测:UA 自称移动 iOS 却无版本令牌;或 UA 与 Sec-CH-UA-Platform 矛盾——抓改了 UA 没改配套信号的伪装(第二层需要 CH,本工具做不到)
- 行为层:频率、头顺序、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 工具匣 出品的开发者指南。首页 汇集了更多浏览器本地工具。
相关工具
相关文章
Markdown 转 Word 交付指南:样式映射与行内降级
把 Markdown 草稿变成可交付的 .docx:pandoc 命令行与浏览器本地转换两条路线,标题/表格/代码块的 Word 原生样式映射对照,行内格式降级清单,以及「可编辑」为什么比「看起来像」更重要。
Word 转 Markdown 怎么转才干净:两条路线与格式保真对照
docx 转 Markdown 教程:pandoc 命令行与浏览器本地转换两条路线对比,标题/表格/图片/自动编号的保真行为,.doc 旧格式、图片体积、合并单元格等常见坑的解法。
中国车牌号规则与校验:普通牌、新能源与特殊格式全解
中国大陆车牌号编码规则详解:普通蓝牌、新能源 GA36D-2018、武警与使馆牌的结构、省份简称与发牌机关编码,附在线校验方法。