我正在构建expressjs/nodejs应用程序。现在我想确定请求是否来自web/android/ios?什么应该是这样做的理想和最有效的方式?如何在expressjs的API中识别不同平台
0
A
回答
2
现在我想确定请求是否来自web/android/ios? 什么应该是这样做的理想和最有效的方法?
你可以使用这个包:
https://www.npmjs.com/package/express-useragent
暴露你的REST端点您想要的信息。不知道这是最好的方式还是最好的方式,但我已经取得了很好的经验。
你可以要求的信息,像这样:
var express = require('express');
var app = express();
var useragent = require('express-useragent');
app.use(useragent.express());
app.get('/', function(req, res){
res.send(req.useragent);
});
app.listen(3000);
您可能会收到信息看起来是这样的:
{
"isMobile":false,
"isDesktop":true,
"isBot":false,
.....
"browser":"Chrome",
"version":"17.0.963.79",
"os":"Windows 7",
"platform":"Microsoft Windows",
"source":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79..."
}
+1
感谢您的回答。我的疑问是,当请求来自iOS设备,那么我怎么会从'isMobile'标志中知道? –
+0
如果是iOS手持设备,“isMobile”应该评估为'true'和“os”为'iOS'或类似的东西。你有测试设备吗?你可以试试这个。 – Spacemoose
相关问题
- 1. 在Ionic2中识别平台浏览器
- 2. 语音识别平台NotSupportedException
- 3. WiX 3.0中的平台识别
- 4. 在不同平台上使用相同的Google API API
- 5. 如何应对在不同的平台
- 6. ExpressJS识别文件类型
- 7. Expressjs不识别静态文件
- 8. WebDriverException无法识别的平台
- 9. 如何识别任何平台上的字节大小?
- 10. 在不同的平台上
- 11. 不同平台
- 12. cordova如何为不同的平台进行API调用
- 13. Java加密API与不同平台
- 14. 微软语音识别平台
- 15. 确定平台的API级别<1.6
- 16. Android平台API级别的源代码
- 17. 如何支持Titanium中不同平台的不同视图
- 18. 我如何识别不同的pickerViews?
- 19. 从Linux虚拟机如何检测/识别Azure平台
- 20. 在Windows Phone 8的后台代理中的语音识别API
- 21. 平台不可知的蓝牙设备识别机制
- 22. Phonegap/cordova在Mac上添加Android平台未被识别为核心cordova平台
- 23. 在IBM RAD中识别Eclipse平台版本
- 24. dllexport在x64位平台中无法识别
- 25. 如何在JS中调用API时识别API的用户?
- 26. 如何识别Specflow的后台步骤?
- 27. 如何识别交易中相同或不同的PetaPoco连接?
- 28. 如何在C中正确识别不同的行结束符?
- 29. 不同平台上的Javascript
- 30. iOS生成的QR码未在其他平台上识别
平台信息可以收集客户端和发送使用表达服务器标题 –
好的,那么我怎么能在服务器端使用'user-agent'来分离android/web/ios? –
你想用这些信息做什么?只是为了记录和统计?或者你是否想要就网站的行为做出决定? – jfriend00