1

我正在将 JSON 数据从 Android 和 iPhone 应用程序发送到我的 web2py 应用程序。

我还编写了一个“m”页面,可以从 Android 和 iPhone 平台访问,这些平台也进行相同的 JSON 调用。

我了解如何使用 web2py 实用程序确定请求是来自 Android 还是来自 iOS request.user_agent()

我在以下位置观察到这些签名http_user_agent

"Bundle%20name/1.400.130508 CFNetwork/609.1.4 Darwin/13.0.0"  (iOS app)
"Apache-HttpClient/UNAVAILABLE (java 1.4)"                    (android app)

是否有一些 python 模块或全面的正则表达式可用于确定呼叫是来自电话应用程序还是来自浏览器?

4

1 回答 1

1

这很难,因为正如一些评论所指出的,应用程序作者可以将用户代理字符串设置为他们想要的任何内容。或者根本不设置它,在这种情况下,字符串将是Apache-HttpClient/UNAVAILABLE (java 1.4)您帖子中的一些默认文本。

关于这个主题有很多类似的问题,我发现这个问题特别有用: Parsing HTTP User-Agent string

httpagentparser这让我们以python 包 的形式为您提供了一种可能的补救措施: https ://pypi.python.org/pypi/httpagentparser/

于 2013-06-08T18:18:05.093 回答