【问题标题】:How to detect the client OS from ASP.NET如何从 ASP.NET 检测客户端操作系统
【发布时间】:2013-10-11 23:25:54
【问题描述】:

我想检测使用 ASP.NET 和 C# 的客户端操作系统。 HttpBrowserCapabilities 类让我可以很好地确定浏览器信息,例如“Chrome”和“29.0”版本。但是,它对我的​​操作系统没有足够的帮助。 “平台”属性只返回“WinNT”。好吧,我使用的是 Windows 7,显然不是旧的“WinNT”,所以在实用层面上,这对我没有帮助。

现在,我知道我可以手动解析出 UserAgent 字符串的位,并查找诸如“Windows NT 6.1”之类的内容,然后手动将其转换为“Windows 7”。我对 5 个甚至 10 个版本的 Windows 都没有问题。但是,我绝对不想为地球上每个操作系统的所有这些转换编写手动代码。

有谁知道如何在不手写数百或数千行用户代理解析的情况下从我的 Web 代码中检测客户端操作系统?我看到其他网站在其网页上显示“您正在使用 Windows 7”。我不想为此购买第 3 方对象。

【问题讨论】:

标签: c# asp.net


【解决方案1】:

您可以使用来自 UserAgentString.com 的 API

http://www.useragentstring.com/pages/api.php

【讨论】:

  • 感谢用户代理字符串网站的链接,但我不想使用网络服务。我需要几毫秒的信息。因此,Web 服务将无济于事。你知道这个 useragentstring 的人是怎么做的吗?
  • 我不能确定他们到底在做什么,但是我希望他们维护一个包含所有已知 UserStrings 的数据库并进行数据库调用来获得它。关于您对不调用 web 服务的担忧,我想不出任何其他方式可以在几毫秒内完成。即使您编写自己的算法,解析字符串也需要时间。
猜你喜欢
  • 2012-04-01
  • 2012-05-18
  • 1970-01-01
  • 2016-08-05
  • 2019-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多