我正在构建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. ExpressJS识别文件类型
- 6. Expressjs不识别静态文件
- 7. 如何识别任何平台上的字节大小?
- 8. 微软语音识别平台
- 9. 如何支持Titanium中不同平台的不同视图
- 10. 确定平台的API级别<1.6
- 11. 我如何识别不同的pickerViews?
- 12. dllexport在x64位平台中无法识别
- 13. 在IBM RAD中识别Eclipse平台版本
- 14. 不同平台上的Javascript
- 15. iOS生成的QR码未在其他平台上识别
- 16. 诺基亚X(1.2.4.1&平台1.2)不被eclipse识别
- 17. 如何使用Android.mk为不同平台指定不同的CFLAGS
- 18. 的perl在两个不同的平台
- 19. 为什么listFiles()在不同的平台中表现不同?
- 20. Cakephp:在cakephp中登录不同用户的不同平台
- 21. Google StreetView如何识别3D平面?
- 22. inet_ntop提供了在不同的平台
- 23. JNI编译在不同的平台
- 24. 挂在不同平台上的浪潮
- 25. 如何识别在mysql中
- 26. 如何识别ListView的一行中的不同图像?
- 27. Google语音识别API不在监听
- 28. 如何同步Realm移动平台上的不同用户?
- 29. 如何在不同的平台上使用SSH?
- 30. 如何在Google协作平台上支持不同的语言?
平台信息可以收集客户端和发送使用表达服务器标题 –
好的,那么我怎么能在服务器端使用'user-agent'来分离android/web/ios? –
你想用这些信息做什么?只是为了记录和统计?或者你是否想要就网站的行为做出决定? – jfriend00