User-Agent 解析器
把 User-Agent 字符串解析为浏览器、渲染引擎、操作系统和设备类型,并查看你自己的浏览器如何描述自己。
这个字符串无法告诉你的信息
本浏览器报告的自身信息
这些值读取自你当前使用的浏览器,而不是上面的字符串。它们只留在此页面中。
| 属性 | 值 |
|---|---|
| Client Hints 品牌 | |
| Client Hints 平台 | |
| 语言 | |
| 屏幕尺寸 | |
| 设备像素比 | |
| 时区 | |
| Cookie | |
| WebAssembly | |
| Web Crypto |
把工具固定在这里,会保存在此浏览器中。
固定一个工具,它的贴纸就会出现在这里。
把 User-Agent 字符串解析为浏览器、渲染引擎、操作系统和设备类型,并查看你自己的浏览器如何描述自己。
这个字符串无法告诉你的信息
这些值读取自你当前使用的浏览器,而不是上面的字符串。它们只留在此页面中。
| 属性 | 值 |
|---|---|
| Client Hints 品牌 | |
| Client Hints 平台 | |
| 语言 | |
| 屏幕尺寸 | |
| 设备像素比 | |
| 时区 | |
| Cookie | |
| WebAssembly | |
| Web Crypto |
几乎每个 HTTP 请求都带有 User-Agent 请求头,客户端在其中报出自己的名字。几十年来,浏览器不断把彼此的名字加进去,好让专为竞争对手编写的网站也能正常为自己提供服务:这就是为什么 Chrome 的字符串以 Mozilla/5.0 开头,还提到 AppleWebKit、KHTML, like Gecko 和 Safari,也是为什么 Edge 和 Opera 发送的是 Chrome 的字符串,只在末尾加上 Edg/ 或 OPR/。
因此,解析器必须按固定顺序检测,从最具体的标识到最笼统的标识。此工具先检查爬虫和 HTTP 库,再检查带有自有标识的浏览器,最后才检查 Chrome 和 Safari,因为很多其他浏览器都会重复它们的标识。
这个字符串会随每个请求发送给每台服务器,其中的细节曾被用来对用户做指纹识别。因此 Chrome 精简了它,其他 Chromium 内核浏览器也随之跟进。现在版本号以 131.0.0.0 的形式发送,只有主版本号是真实的;平台部分则是固定值,例如 Windows NT 10.0; Win64; x64 或 Android 10; K,与真实系统无关。
需要详细信息的网站必须通过 User-Agent Client Hints 获取,即 Sec-CH-UA 系列请求头和 JavaScript 中的 navigator.userAgentData。如果你当前使用的浏览器提供这些值,结果下方的表格会显示它们。
这个字符串部分被冻结、会模仿其他浏览器,而且客户端可以随意设置,因此不适合用来决定运行哪段代码。应该直接检测特性:JavaScript 中用 'share' in navigator,CSS 中用 @supports。这样,对于你从未听说过的浏览器和尚未发布的版本,判断结果也是正确的。
不过,在做统计、在日志中区分爬虫和真人,以及绕过某个已知浏览器版本的 bug 时,读取这个字符串仍然是合理的。
Chrome 和其他 Chromium 内核浏览器精简了 User-Agent 字符串,以减少指纹识别。它们只发送主版本号,次版本号、构建号和补丁号都替换为零。完整版本号可以通过 User-Agent Client Hints 获取。
不能。Brave 有意发送与 Chrome 相同的字符串,所以解析器只能判断它是 Chromium 内核浏览器。任何不添加自有标识的浏览器都是如此。
Safari、Chrome 和 Firefox 把字符串中的 macOS 版本停在了 10.15,所以之后的每个 macOS 版本报告的也是这个数字。在搭载 Apple 芯片的 Mac 上,字符串中同样写着 Intel。
可以。任何客户端都可以发送任意字符串,很多爬虫会发送普通浏览器的字符串。不要基于它做安全决策。要确认 Googlebot 这样的爬虫,请按其运营方文档中的方法检查请求的来源地址。
不会。字符串由浏览器标签页中的 JavaScript 解析,此工具不会用它发出任何网络请求。
它会在独立窗口中打开,离线时也能使用。
要安装,请点按“分享”按钮,然后选择“添加到主屏幕”。