You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Express中获取请求的客户端语言与浏览器软件信息?

问题原因

原生 Express 的请求对象 req 未内置 req.language 和 req.software 两个属性,这两个信息需要手动从 HTTP 请求头中提取。

解决方法

客户端语言偏好存储在 accept-language 请求头中,浏览器/设备信息存储在 user-agent 请求头中,直接从 req.headers 中读取对应字段即可。

修改后的代码示例
app.get('/api/whoami',  (req, res, next)=> {
    let json = {
        "ipaddress": req.ip,
        "language": req.headers['accept-language']?.split(',')[0], // 取优先级最高的第一个语言项
        "software":  req.headers['user-agent']
    }
    res.json(json)
    next()
})
可选优化
  • 如果需要更规范的语言解析、用户代理信息解析,可以引入对应的第三方工具库,比如 accepts 处理语言偏好,express-useragent 解析设备、浏览器信息,省去手动处理字符串的步骤。

内容的提问来源于stack exchange,提问作者Michael-Liendo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:24:03