Mobile 如何在web服务器上检测移动客户端?

Mobile 如何在web服务器上检测移动客户端?,mobile,request,http-headers,webserver,Mobile,Request,Http Headers,Webserver,当http请求到达我的服务器时,如何检测它是否来自iphone、android或其他设备?您需要检查http请求的标题。您可以在“用户代理”字段中找到正在使用的操作系统和浏览器 如果您使用的是javascript,那么请使用导航器对象 navigator.userAgent 如果您使用的是php,那么您可以访问HTTP头 $userAgent = $_SERVER["HTTP_USER_AGENT"]; 您可以获取用户代理。这说明它是什么浏览器类型(iphone、chrome、ie、任何东西

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

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

如果您使用的是javascript,那么请使用
导航器
对象

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

$userAgent = $_SERVER["HTTP_USER_AGENT"];

您可以获取用户代理。这说明它是什么浏览器类型(iphone、chrome、ie、任何东西)

要帮助您:

如his中所述,您可以使用HTTP标头

但用户代理可能很难解析

我建议您使用第三方库解析用户代理和检测移动设备

关于Node.js 显然,OP使用Node.js,然后可以使用()

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

const MobileDetect=require('mobile-detect');
const md=新的MobileDetect(请求头['user-agent']);
console.log(md.mobile());/'索尼的
console.log(md.phone());/'索尼的
console.log(md.tablet());//无效的
关于PHP 在PHP服务器()上

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


您是使用javascript还是服务器端代码来使用它的?请注意,这很容易伪造。@ceejayoz是的。但我看不出有任何问题,因为用户可能希望获得适合实际使用的客户端的最佳体验和布局。所以他们真的没有兴趣这么做。@ceejayoz我也不认为OP能做任何事情来阻止他这样做……同意。值得一提的是,正如我所看到的,人们试图以这种方式限制访问,却惊讶地发现它对有决心的用户不起作用。@JJPA true现在被暂停,非法答案被删除。