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