如何在UserAgent字符串中包含Windows版本
本文关键字:包含 Windows 版本 字符串 UserAgent | 更新日期: 2023-09-27 18:07:20
我想从我的c#应用程序发送一个HTTP请求,我想要一个正确构造的用户代理字符串,以便(至少)操作系统被很好地表示。
我发现了这个:
https://msdn.microsoft.com/en-us/library/ms537503 (v = vs.85) . aspx # PltToken
,允许我查找正确的字符串的给定版本的windows(我的应用程序将只在windows上运行),但肯定我不希望有一个查找表自己(如果我的应用程序在新版本的windows上运行,我需要更新它只是添加一个新的UA字符串!
必须有一些API,我可以调用以获得当前操作系统的UA字符串,我似乎找不到它。
我不清楚你说的"很好地代表了"是什么意思。大多数浏览器只报告"Windows NT $NTversion"。
如何获取Windows版本,请参见在。net中检测Windows版本和在c#中获取OS版本/友好名称。基本上:
string versionString = "Unknown OS Version";
var osVersion = System.Environment.OSVersion;
if (osVersion.Platform == PlatformID.Win32NT)
{
versionString = string.Format("Windows NT {0}.{1}",
osVersion.Version.Major,
osVersion.Version.Minor);
}
else
{
// handle non-NT Windows
}
然而,如果你的应用程序运行在Windows 8或更高版本(8.1,10,…),你需要为该版本显示你的应用程序,否则它将返回8.0 (NT 6.2)。我想如果是Windows的新版本,你还得为那个版本重新manifest。