我正在从事网络分析。我正在使用JavaScript客户端和NodeJS服务器端。我知道我们可以使用userAgent
找到device type,但是如何检测设备品牌(客户端或服务器端)?检测设备品牌
检测设备品牌
回答
你不能直接做; userAgent字段根本不包含供应商。但是,您可以构建一个映射到特定供应商的userAgent令牌库。不过,这将涉及大量设备的研究和测试。
例如,userAgent中的任何“iOS”,“iPhone”或“iPad”都可以安全地映射到“Apple”。 然后,例如,Samsung Galaxy S3在userAgent中具有型号,即“GT-I9300”。然后,您可以将其映射到“三星”。 ...然后你需要重复这个你想识别的其他设备。在线查找用户代理字符串可能是最快捷的方式。
通过userAgent字符串检测可能会导致检测出错。您可以将浏览器字符串更改为任何您想要的。在大多数情况下,它不告诉你它是哪个设备。
为您解析这个问题的一个库是Platform.js,您可以按照上面链接的介绍页中所述,在客户端或服务器端使用它。
这里有一个客户端的例子:
<script type='text/javascript' src='platform.js'></script>
<script type='text/javascript'>
alert('you are using ' + platform.description + ' on an ' + (platform.manufacturer || 'unknown vendor'))
</script>
请注意,您将得到通用的浏览器没有生产厂家,但应该得到该品牌在移动设备例如苹果,三星等。
感谢宝贵的信息。我会测试并通知您。 – karthick 2013-05-15 05:41:38
您可能从客户端获得的每个数据都可能被欺骗,因此不要期望每个用户都只能传输100%正确的数据。
但是,您可以通过nodeJS中的req.headers['user-agent']
获得客户端代理,这里是a list of many mobile browsers。
在服务器端,您可以使用设备npm模块非常轻松地完成此操作,并且如果您使用的是Express.js,那么它就像蛋糕一样简单。
安装模块。
npm i --S express-device
在express code中添加中间件。
var express = require('express');
var app = express();
var device = require('express-device');
app.use(device.capture());
app.get('/hello',function(req,res) {
res.send("Hi to "+req.device.type.toUpperCase()+" User");
});
app.listen(3000);
console.log("Listening to Port 3000");
简单而甜美。
参考:找出https://codeforgeek.com/2016/07/how-to-detect-device-type-in-nodejs/
- 1. IOS:如何检测配对蓝牙3.0设备的品牌/型号?
- 2. Silverlight检测设备
- 3. 检测Android设备
- 4. 如何检测设备令牌是否过时?
- 5. API来检测USB设备
- 6. 检测移动设备
- 7. 检测USB设备android
- 8. 检测的iOS设备11
- 9. navigator.userAgent检测移动设备?
- 10. 网站检测设备
- 11. 颠倒检测设备
- 12. 网站设备检测
- 13. PyUsb:检测设备移除
- 14. 检测设备移动
- 15. 牌照检测
- 16. 设备令牌NULL
- 17. 未设置设备令牌
- 18. 使用NAudio MMDevice时,如何获取设备的品牌名称?
- 19. Tkinter的事件检测新的USB设备,或设备删除
- 20. 如何检测捕获设备的设备名称?
- 21. Xamarin表单 - 如何检测设备是否是触摸设备?
- 22. 检测移动设备 - 和平板设备
- 23. 移动设备被检测为非移动设备
- 24. 日食没有检测到一天前检测到的设备
- 25. 检测电梯内的Android设备
- 26. 服务器端设备检测
- 27. Javascript代码来检测设备类别
- 28. 如何检测设备的移动?
- 29. 检测低分辨率android设备
- 30. JmDNS检测Android中的网络设备
一种方法是使用一个实际的设备和访问这些“我的用户代理”的网站之一,并找出。据我所知,其中一个网站让我的设备型号正确。它应该回答你的问题*“是否有可能”*。 – Joseph 2013-05-03 10:07:07