如何在nodejs环境中处理用户代理?

时间:2014-03-09 18:03:44

标签: node.js express user-agent

我开始使用“ua-parser”软件包,但是创建者太忙了,无法保密或提交... npm ua-parser已经过时,需要直接从github下载。有人知道像ua-parser这样的其他优秀软件包已经更新并可以与expressjs一起使用吗?或者有办法处理expressjs?

3 个答案:

答案 0 :(得分:38)

你看过了吗?

或者,编写自己的中间件:

app.use(function(req, res, next) {
  res.locals.ua = req.get('User-Agent');
  next();
});

参考:get user agent from inside jade

答案 1 :(得分:21)

有两种一般情况,你只需要简单的匹配,而你不需要一个模块,你可以在Node中使用正则表达式。

var isIpad = !!req.headers['user-agent'].match(/iPad/);
var isAndroid = !!req.headers['user-agent'].match(/Android/);

==> true, false

另一方面,如果你需要一个很好的浏览器类型的干净输出,这对我来说效果最好。 https://www.npmjs.org/package/useragent

答案 2 :(得分:0)

我发现这是最好的...轻巧又快速! https://www.npmjs.com/package/express-useragent

  app.use(require('express-useragent').express())

然后,在您的中间件内部...(要求,要求,下一个)...

  console.log(JSON.stringify(req.useragent, null ,4))