当http请求进入我的服务器时,如何检测它是来自iphone,android还是其他设备?
答案 0 :(得分:8)
您可以获取用户代理。这告诉它是什么浏览器类型(iphone,chrome,即任何东西)
为了帮助你:
答案 1 :(得分:7)
您需要检查HTTP请求的标头。您可以在“User-Agent”字段中找到正在使用的操作系统和浏览器。
如果您使用的是javascript,请使用navigator
对象
navigator.userAgent
如果您使用的是php,则可以访问HTTP标头
$userAgent = $_SERVER["HTTP_USER_AGENT"];
答案 2 :(得分:0)
在其@dave-delong中response状态,您可以使用User-Agent HTTP标头。
但是用户代理很难解析。
我建议您使用第三方库来解析用户代理并检测移动设备。
显然OP使用Node.js,然后可以使用mobiledetect.js(demo)。
通过将模式与给定的用户代理字符串(手机,平板电脑,桌面,移动设备,操作系统,版本)进行比较来检测设备。
const MobileDetect = require('mobile-detect');
const md = new MobileDetect(req.headers['user-agent']);
console.log(md.mobile()); // 'Sony'
console.log(md.phone()); // 'Sony'
console.log(md.tablet()); // null
在PHP服务器上mobiledetect(demo)。
Mobile_Detect是一个用于检测移动设备(包括平板电脑)的轻量级PHP类。它使用User-Agent字符串与特定HTTP标头相结合来检测移动环境。