Distinguish between iPhone web browser and iPhone app user agent

*爱你&永不变心* 提交于 2019-11-27 02:12:38

问题


What is the best way to distinguish on a server between a request that came from an iPhone through the web browser vs through an iphone with an app written in objective c? What differences do I look for in the user agent string?


回答1:


I believe user agents from the Safari app start with "Mozilla", while user agents from apps start with the name of the app.




回答2:


It seems that iPhone Apps using the UIWebKit HTTP request component have user agent string like the following

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; fr-fr) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/8A306
Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7D11
Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7E18

While Safari on iPhone has mostly the same string but ending with " Safari/XXX"

However, it is also possible to change the user agent of UIWebKit then there is no guarantee that you'll grab every iPhone app by proceeding this way.




回答3:


Indeed the user agent will be different.

in PHP, you can find out with this: $_SERVER['HTTP_USER_AGENT']



来源:https://stackoverflow.com/questions/3305867/distinguish-between-iphone-web-browser-and-iphone-app-user-agent

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!