这种方法是否正确且不易产生歧义?
我将 HTTP_USER_AGENT 的全部内容拆分成单词,然后检查:
if there is `iPhone` -> iOS
if there is `Android` -> Android
if there is `Windows` -> Windows Mobile
else -> no mobile
最佳答案
首先你忘了“iPod”是 iOS
其次,这是检测设备的唯一方法,但它根本不安全。 header 可以非常轻松地更改,您甚至可以找到 chrome 或 firefox 插件,让您可以根据需要自定义 header 。
如果它只是出于舒适目的的检测:你有一部 iPhone 让我们给你看一张漂亮的 Apple 图片,那没关系,更改 user_agent 的人知道他们在做什么。
如果它是安全的或“它必须是万无一失的”场景,那么这根本不起作用,因为它很容易被欺骗。
如果您正在开发原生应用,最好使用 GET 或 POST 变量发送平台名称并使用 HTTPS 以避免您的变量被篡改。
关于android - 从 http header HTTP_USER_AGENT 可靠性发现 android ios windows mobile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22864145/