[[IT知识]] .NET获取客户端操作系统与浏览器版本的技巧

[复制链接]
查看: 43|回复: 0
发表于 前天 09:30 | 显示全部楼层 | 阅读模式
易博V9下载

.NET获取客户端操作系统与浏览器版本的技巧

我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取。

请看下面的代码,我们首先创建一个通过分析UserAgent来获取操作系统的方法

  1. /// <summary>
  2. /// 获取操作系统的名字
  3. /// </summary>
  4. /// <param name="userAgent">
  5. /// <returns></returns>
  6. private string GetOSNameByUserAgent(string userAgent)
  7. {
  8. string osVersion = "未知";
  9. if (userAgent.Contains("NT 10.0"))
  10. {
  11. osVersion = "Windows 10";
  12. }
  13. else if (userAgent.Contains("NT 6.3"))
  14. {
  15. osVersion = "Windows 8.1";
  16. }
  17. else if (userAgent.Contains("NT 6.2"))
  18. {
  19. osVersion = "Windows 8";
  20. }
  21. else if (userAgent.Contains("NT 6.1"))
  22. {
  23. osVersion = "Windows 7";
  24. }
  25. else if (userAgent.Contains("NT 6.0"))
  26. {
  27. osVersion = "Windows Vista/Server 2008";
  28. }
  29. else if (userAgent.Contains("NT 5.2"))
  30. {
  31. if (userAgent.Contains("64"))
  32. osVersion = "Windows XP";
  33. else
  34. osVersion = "Windows Server 2003";
  35. }
  36. else if (userAgent.Contains("NT 5.1"))
  37. {
  38. osVersion = "Windows XP";
  39. }
  40. else if (userAgent.Contains("NT 5"))
  41. {
  42. osVersion = "Windows 2000";
  43. }
  44. else if (userAgent.Contains("NT 4"))
  45. {
  46. osVersion = "Windows NT4";
  47. }
  48. else if (userAgent.Contains("Me"))
  49. {
  50. osVersion = "Windows Me";
  51. }
  52. else if (userAgent.Contains("98"))
  53. {
  54. osVersion = "Windows 98";
  55. }
  56. else if (userAgent.Contains("95"))
  57. {
  58. osVersion = "Windows 95";
  59. }
  60. else if (userAgent.Contains("Mac"))
  61. {
  62. osVersion = "Mac";
  63. }
  64. else if (userAgent.Contains("Unix"))
  65. {
  66. osVersion = "UNIX";
  67. }
  68. else if (userAgent.Contains("Linux"))
  69. {
  70. osVersion = "Linux";
  71. }
  72. else if (userAgent.Contains("SunOS"))
  73. {
  74. osVersion = "SunOS";
  75. }
  76. else
  77. {
  78. osVersion = HttpContext.Current.Request.Browser.Platform;
  79. }
  80. return osVersion;
  81. }
复制代码

上面的方法就是通过解析UserAgent中包含的操作系统字符串信息,返回具体的操作系统和版本,其中Request.Browser.Platform是获得操作系统的内核,如果上面的都不匹配就直接返回操作系统的内核版本,上面的方法可以检测到最新的Windows 10,同时可以检测苹果、Linux、SunOS等主流操作系统。

调用方法我们可以像下面的代码这样写:

  1. string name = GetOSNameByUserAgent(HttpContext.Current.Request.UserAgent);
复制代码

通过传入Request的UserAgent就可以返回操作系统的了。

.NET 获取客户端的浏览器版本

.NET获取浏览器版本很简单,只需要通过request的Browser固有属性即可,如下面的代码

  1. string browser = HttpContext.Current.Request.Browser.Browser " " HttpContext.Current.Request.Browser.Version;
复制代码

易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表