User Agent解析器 - 解码浏览器、操作系统和设备信息 在线工具
解析User Agent字符串,提取浏览器、操作系统、设备类型、渲染引擎和CPU架构信息。支持批量解析和分布统计 — 100%客户端处理,数据不会发送到服务器。
示例User Agent
输入User Agent字符串以查看解析结果
常见问题
什么是用户代理字符串,它包含哪些信息?
用户代理字符串是Web浏览器和其他HTTP客户端通过User-Agent HTTP头随每个请求发送给服务器的文本标识符。它通常包含关于浏览器名称和版本、操作系统、设备类型和渲染引擎的编码信息。例如,Windows上的Chrome可能发送:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36。尽管看起来很复杂,但每个部分都传达了关于客户端软件和硬件的特定信息。
如何使用这个用户代理解析器?
打开工具并点击“检测我的User Agent”即可立即查看当前浏览器的用户代理解析结果。或者,在输入框中粘贴任意用户代理字符串进行实时解析。以结构化卡片形式查看结果,显示浏览器、操作系统、设备类型、渲染引擎和CPU架构,或切换到JSON视图查看原始数据。使用批量处理选项卡可以一次解析多个用户代理字符串(每行一个)并查看分布统计。点击复制按钮将解析结果复制到剪贴板。
我的用户代理数据会被发送到服务器吗?
不会。此工具100%在客户端运行,使用完全在浏览器中执行的ua-parser-js JavaScript库。所有解析都在您的设备上进行。用户代理字符串、解析结果或任何其他数据绝不会被传输到服务器。这在分析可能包含内部或敏感流量数据的访问日志时尤为重要。初始页面加载后,该工具完全支持离线使用。
用户代理字符串和Client Hints有什么区别?
传统的用户代理字符串是一个长文本字段,以半结构化格式编码所有客户端信息。User-Agent Client Hints是W3C提出的现代替代方案,通过结构化HTTP头(Sec-CH-UA、Sec-CH-UA-Platform等)和JavaScript API(navigator.userAgentData)发送客户端信息。Client Hints提供更清晰、更结构化的数据,并让用户对共享的信息有更多控制权。Chrome和Edge支持Client Hints,而Firefox和Safari的支持有限。此工具在可用时同时显示传统UA解析和Client Hints数据。
可以一次解析多个用户代理字符串吗?
可以。切换到批量处理选项卡,粘贴多个用户代理字符串,每行一个。点击“全部解析”即可同时处理。工具会显示每个UA字符串的结果,并生成显示浏览器、操作系统和设备类型分布的摘要。您可以将结果导出为JSON或CSV格式以进行进一步分析。这对于分析服务器访问日志或分析数据特别有用。
我使用的是Chrome,为什么用户代理字符串显示Mozilla?
这是浏览器兼容性的历史遗留问题。在早期的Web中,服务器会根据不同的浏览器发送不同的内容。当新浏览器推出时,它们在用户代理字符串中包含Mozilla(通常还有like Gecko、Safari等),以防止服务器阻止它们或发送降级内容。如今,几乎所有浏览器的用户代理字符串都以Mozilla/5.0开头,与实际浏览器无关。此工具使用的ua-parser-js库能够正确识别实际浏览器,不受这些误导性前缀的影响。
可以从用户代理字符串中检测到哪些设备类型?
此工具可以识别以下设备类型:桌面设备(标准计算机)、移动设备(智能手机)、平板电脑(iPad、Android平板)、智能电视(联网电视)、游戏主机(PlayStation、Xbox等游戏机)、可穿戴设备(智能手表)和嵌入式设备(物联网设备)。它还能检测机器人和爬虫(Googlebot、Bingbot、GPTBot等)。请注意,桌面浏览器通常不会在用户代理字符串中包含设备类型,因此当没有移动/平板/其他标识时,会推断为桌面设备。
代码示例
// User agent parsing in the browser using ua-parser-js
import UAParser from 'ua-parser-js';
function parseUserAgent(uaString) {
const parser = new UAParser(uaString);
return {
browser: parser.getBrowser(),
engine: parser.getEngine(),
os: parser.getOS(),
device: parser.getDevice(),
cpu: parser.getCPU(),
};
}
// Parse current browser's user agent
const result = parseUserAgent(navigator.userAgent);
console.log('Browser:', result.browser.name, result.browser.version);
console.log('OS:', result.os.name, result.os.version);
console.log('Device:', result.device.type || 'desktop');
// Client Hints API (Chromium browsers)
if (navigator.userAgentData) {
const hints = await navigator.userAgentData.getHighEntropyValues(
['platformVersion', 'architecture', 'model']
);
console.log('Platform:', hints.platform, hints.platformVersion);
}