如何检测 Web 服务器上的移动客户端



当http请求来到我的服务器时,我如何检测它是否来自iPhone,Android或其他设备?

您可以获取用户代理。这告诉它是什么浏览器类型(iphone,chrome,即任何东西)

为了帮助您:

http://whatsmyuseragent.com/

http://en.wikipedia.org/wiki/User_agent

您需要检查 HTTP 请求的标头。您可以在"用户代理"字段中找到正在使用的操作系统和浏览器。

如果您使用的是 javascript,请使用 navigator 对象

navigator.userAgent

如果您使用的是 php,那么您可以访问 HTTP 标头

$userAgent = $_SERVER["HTTP_USER_AGENT"];

正如@dave-delong在他的回应中所说的那样,你可以使用User-Agent HTTP标头。

但是用户代理可能很难解析。

我建议您使用第三方库解析User-Agent和检测移动设备。

在节点上.js

显然OP

使用Node.js然后可以使用mobiledetection.js(演示)。

通过将模式与给定的用户代理字符串(手机、平板电脑、台式机、移动级、操作系统、版本)进行比较来检测设备。

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 上

在 PHP 服务器上移动检测(演示)。

Mobile_Detect 是一个轻量级的 PHP 类,用于检测移动设备(包括平板电脑)。它使用用户代理字符串与特定 HTTP 标头相结合来检测移动环境。

相关内容

  • 没有找到相关文章

最新更新