我想从我的c#app发送一个HTTP请求,我想要一个正确构造的用户代理字符串,以便(至少)操作系统能够很好地表示。
我发现了这个:
https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx#PltToken
允许我查找给定版本的Windows的正确字符串(我的应用程序只能在Windows上运行),但我当然不希望自己有一个查找表(如果我的应用程序运行,该怎么办?一个新版本的Windows,我需要更新它只是为了添加一个新的UA字符串!
必须有一些我可以调用的API来获取当前操作系统的UA字符串,我似乎无法找到它。
答案 0 :(得分:0)
目前还不清楚你的意思是什么?#34;代表性很好"。 Most browsers只报告" Windows NT $ NTversion"。
有关如何获取Windows版本的信息,请参阅Detect Windows version in .net和Get OS Version / Friendly Name in C#。基本上是:
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,...)上运行,则需要manifest your app for that version,否则它将返回8.0(NT 6.2)。我想,对于较新的Windows版本,您还必须为该版本重新显示。