从请求中获取用户浏览器数据

时间:2014-09-20 22:18:50

标签: node.js sails.js middleware

在php中有一个全局$_SERVER['HTTP_USER_AGENT']来获取用户浏览器数据。目前SailsJS中是否有类似的功能?

1 个答案:

答案 0 :(得分:8)

如果您对服务器端的User agent感兴趣,可以从请求的HTTP标头中获取该数据:

  • 包含所有请求标头的对象:req.headers
  • 具有用户代理请求标头的字符串:req.headers['user-agent'],例如 Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 37.0.2062.120 Safari / 537.36
  • 带有用户代理请求标头的字符串:req.get('user-agent') - 与上面的表达式完全相同(给出相同的结果)。

请注意,标题名称必须为user-agent(小写字母),而不是User-Agent

此示例控制器将使用您当前浏览器的用户代理返回JSON

module.exports = {

  /**
   * `CustomController.getUserAgent()`
   */
  getUserAgent: function (req, res) {
    return res.json({
      userAgent: req.headers['user-agent']
    });
  }
}

JSON响应示例:

{
    "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36"
}