我想确定传入的请求是来自机器人(例如google,bing)还是人类,并为每个提供不同的数据,例如,客户端javascript的json数据构建网站或预处理的html。
使用expressjs,有一种简单的方法吗?感谢。
答案 0 :(得分:4)
你可以检查req.header('User-Agent')是否为'Mozilla / 5.0(兼容; Googlebot / 2.1; + http://www.google.com/bot.html'。如果你知道它是谷歌并且可以发送不同的数据
http://www.google.com/support/webmasters/bin/answer.py?answer=1061943
答案 1 :(得分:3)
我建议您根据请求的MIME类型(在“Accept”标题中出现)进行响应。你可以用Express这样做:
app.get('/route', function (req, res) {
if (req.is('json')) res.json(data);
else if (req.is('html')) res.render('view', {});
else ...
});