当前位置:Gxlcms > PHP教程 > android和ios调用php写的接口如何判断用户使用的是安卓还是苹果

android和ios调用php写的接口如何判断用户使用的是安卓还是苹果

时间:2021-07-01 10:21:17 帮助过:90人阅读

如何能在不动安卓 和 苹果版本的前提下 php接口这边判断调用这个接口的是安卓还是苹果?


回复讨论(解决方案)

function get_device_type(){ $agent = strtolower($_SERVER['HTTP_USER_AGENT']); $type = 'other'; if(strpos($agent, 'iphone') || strpos($agent, 'ipad')){  $type = 'ios'; } if(strpos($agent, 'android')){  $type = 'android'; } return $type;}

function get_device_type(){ $agent = strtolower($_SERVER['HTTP_USER_AGENT']); $type = 'other'; if(strpos($agent, 'iphone') || strpos($agent, 'ipad')){  $type = 'ios'; } if(strpos($agent, 'android')){  $type = 'android'; } return $type;}

首先谢谢你的回答 这个好像对浏览器可以 但是如果安卓或者苹果调用我这个接口 通过上述方式应该没办法知道 是安卓或者苹果吧

你可以在接口地址上带个参数,例如安卓 device_type=1;苹果device_type=2,附带一些加密措施,防止从其它PC或设备访问时参数判断失误

让客户端每次请求的时候带个标识参数就好了。

你只能在客户端, 也就是安卓与苹果端对 用户标识区分



Http.setRequestProperty("User-Agent","Mozilla/5.0 Android");


function get_device_type(){ $agent = strtolower($_SERVER['HTTP_USER_AGENT']); $type = 'other'; if(strpos($agent, 'iphone') || strpos($agent, 'ipad')){  $type = 'ios'; } if(strpos($agent, 'android')){  $type = 'android'; } return $type;}

首先谢谢你的回答 这个好像对浏览器可以 但是如果安卓或者苹果调用我这个接口 通过上述方式应该没办法知道 是安卓或者苹果吧


。。这个是判断浏览器的。。 在接口中调用 一般都是在客户端传递的参数中标识。

你可以在接口地址上带个参数,例如安卓 device_type=1;苹果device_type=2,附带一些加密措施,防止从其它PC或设备访问时参数判断失误

谢谢你的回答 如果在客户端传参数 就得改App 能不能再不动用客户端的情况下 知道调用接口的是安卓 或者 ios

应用发出的请求不像浏览器带useragent,目前不知道有什么办法区分,我这边工作也会用到,这两天研究下

应用发出的请求不像浏览器带useragent,目前不知道有什么办法区分,我这边工作也会用到,这两天研究下



用fiddler截了下自己手机的数据包,居然真的带了useragent

不确定这个agent是开放权限给开发者自定义,还是安卓java虚拟机封装成私有的
不确定是否乱七八糟的安卓机型都能带上
截一下IOS和windows phone的看看吧

?用API??????,使用user-agent不?的。

有个Mobile Detect的PHP类,你可以研究一下

谢谢大家的热心回答

人气教程排行