我想使用ASP.NET和C#检测客户端操作系统。 HttpBrowserCapabilities类让我可以很好地确定浏览器信息,例如“Chrome”和版本“29.0”。但是,它对我的操作系统没有足够的帮助。 “platform”属性仅返回“WinNT”。好吧,我使用的是Windows 7,显然不是较旧的“WinNT”,所以在实际水平上,这对我没有帮助。
现在,我知道我可以手动解析掉一些UserAgent字符串并查找“Windows NT 6.1”之类的内容并手动将其转换为“Windows 7”。对于5个甚至10个版本的Windows,我没有问题。但是,我绝对不想为地球上的每个操作系统编写所有这些转换的手动代码。
有没有人知道如何在不用手写数百或数千行useragent解析的情况下从我的Web代码中检测客户端操作系统?我见过其他网站在他们的网页上显示“你正在使用Windows 7”。我宁愿不为此购买第三方对象。