【问题标题】:How to get mobile device data from a http request?如何从 http 请求中获取移动设备数据?
【发布时间】:2023-03-20 15:50:01
【问题描述】:

我已经构建了一个通过 HTTP 请求通过应用程序 (iOS/Android) 调用的 web api。我正在尝试实现一个 GET 请求,该请求根据设备、操作系统、应用程序版本等返回不同的数据。我一直在将 UserAgent 与 IOS 设备一起使用,它工作得很好,就像这样:

        var uaParser = Parser.GetDefault();

        var clientInfo = uaParser.Parse(Request.Headers.UserAgent.ToString());

另外,如果我通过浏览器打开请求,它也会返回数据。响应示例为:UserAgent: Windows 10 Other Chrome 63.0.3239

问题出在 Android 设备上,它既不会发送有关设备也不会发送有关操作系统的任何数据,而且我不想在 android 应用程序中硬编码细节,我相信它们是以 @ 的形式发送的987654321@ 可以为 iOS 和 Android 显示这些详细信息。

是否有任何可能的解决方案可以从请求本身获取这些数据?

【问题讨论】:

    标签: c# android .net http asp.net-web-api2


    【解决方案1】:

    如果您真的想这样做,那么您可以通过编程方式获取 android 设备名称及其版本,并将其作为 http 请求中的参数发送到您的服务器...
    获取设备名称

    String devName = android.os.Build.MODEL;
    


    获取版本代码

    String androidOS = Build.VERSION.RELEASE;
    

    然后您可以轻松地将它们作为请求中的参数发送到您的服务器,并将它们存储到数据库等....
    希望这会有所帮助!干杯!

    【讨论】:

    • 谢谢,问题正如我所说,我们可以开始告诉 android 团队以编程方式发送这些数据,然后我们开始使用它,而那些相同的请求,已经以某种方式发送了这些数据我不知道如何访问它!我的证据:我们正在使用 Crashlytics,它在这些请求中显示了有关 android 设备的所有数据,这证明他们不需要自己发送它们已经发送了。
    • 如果你想验证数据是否真的被发送,那么你最好尝试任何好的 mitm 代理,比如 fiddler 来验证它
    猜你喜欢
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多