确定http请求是来自手机应用程序还是浏览器

时间:2013-06-07 05:31:40

标签: android python ios

我正在发送来自Android&的JSON数据iPhone应用程序到我的web2py应用程序。

我还写了一个可以从Android& amp; iPhone平台也会进行相同的JSON调用。

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

我在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模块或全面的正则表达式可用于确定呼叫是来自手机应用还是来自浏览器?

1 个答案:

答案 0 :(得分:1)

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

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

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