C# 如何从http请求获取移动设备数据?
我构建了一个web api,通过应用程序(iOS/Android)通过HTTP请求进行调用。我正在尝试实现一个GET请求,该请求根据设备、操作系统、应用程序版本返回不同的数据。。等等。我一直在IOS设备上使用UserAgent,它工作得很好,如下所示:C# 如何从http请求获取移动设备数据?,c#,android,.net,http,asp.net-web-api2,C#,Android,.net,Http,Asp.net Web Api2,我构建了一个web api,通过应用程序(iOS/Android)通过HTTP请求进行调用。我正在尝试实现一个GET请求,该请求根据设备、操作系统、应用程序版本返回不同的数据。。等等。我一直在IOS设备上使用UserAgent,它工作得很好,如下所示: var uaParser = Parser.GetDefault(); var clientInfo = uaParser.Parse(Request.Headers.UserAgent.ToString());
var uaParser = Parser.GetDefault();
var clientInfo = uaParser.Parse(Request.Headers.UserAgent.ToString());
此外,如果我通过浏览器打开请求,它也会返回数据。响应示例为:UserAgent:Windows 10其他Chrome 63.0.3239
问题在于Android设备,它既不发送任何关于设备的数据,也不发送任何关于操作系统的数据,我不想在Android应用程序中硬编码细节,我相信它们被发送到某个地方,因为它可以显示iOS和安卓的这些细节
是否有任何可能的解决方案从请求本身获取此数据 如果你真的想这么做,那么你可以通过编程获得android设备名称及其版本,并将其作为http请求中的参数发送到服务器。。。
获取设备名称
String devName = android.os.Build.MODEL;
String androidOS = Build.VERSION.RELEASE;
获取版本代码
String devName = android.os.Build.MODEL;
String androidOS = Build.VERSION.RELEASE;
然后,您可以轻松地将它们作为请求中的参数发送到服务器,并将它们存储到数据库等…
希望这有帮助!干杯 多亏了这一点,问题是正如我所说的,我们可以开始告诉android团队以编程方式发送这些数据,我们开始使用这些数据,而这些请求已经以某种方式发送了这些数据,我不知道如何访问它们!我的证据是:我们正在使用Crashlytics,它显示了这些请求中关于android设备的所有数据,这证明了他们不需要自己发送,它已经发送了。如果你想验证数据是否真的被发送,那么你最好尝试任何好的mitm代理,比如fiddler来验证它