我正在構建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