代码之家  ›  专栏  ›  技术社区  ›  user391986

区分iPhone网络浏览器和iPhone应用程序用户代理

  •  13
  • user391986  · 技术社区  · 16 年前

    在服务器上区分通过网络浏览器从iPhone发出的请求和通过用objective c编写的应用程序从iPhone发出的请求的最佳方法是什么?我在用户代理字符串中查找哪些差异?

    3 回复  |  直到 16 年前
        1
  •  0
  •   James J    16 年前

    我相信Safari应用程序的用户代理以“Mozilla”开头,而应用程序的用户代理以应用程序的名称开头。

        2
  •  33
  •   Open SEO    7 年前

    似乎使用uiwebkitttprequest组件的iPhone应用程序具有如下所示的用户代理字符串

    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
    

    而iPhone上的Safari主要是 same string 但以“Safari/XXX”结尾

    然而,也有可能 change the user agent of UIWebKit 这样做并不能保证你能抓到每一个iPhone应用程序。

        3
  •  -4
  •   jpmartineau    16 年前

    实际上,用户代理将是不同的。