.NET获取客户端的操作系统版本、浏览器版本和IP地址
程序员文章站
2023-11-22 10:52:16
我们在使用.net做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析useragent来获取。...
我们在使用.net做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析useragent来获取。
.net 获取客户端的操作系统
请看下面的代码,我们首先创建一个通过分析useragent来获取操作系统的方法
/// <summary> /// 获取操作系统的名字 /// </summary> /// <param name="useragent"></param> /// <returns></returns> public static string getosnamebyuseragent(string useragent) { string osversion = "未知"; if (useragent.contains("nt 10.0")) { osversion = "windows 10"; } else if (useragent.contains("nt 6.3")) { osversion = "windows 8.1"; } else if (useragent.contains("nt 6.2")) { osversion = "windows 8"; } else if (useragent.contains("nt 6.1")) { osversion = "windows 7"; } else if (useragent.contains("nt 6.1")) { osversion = "windows 7"; } else if (useragent.contains("nt 6.0")) { osversion = "windows vista/server 2008"; } else if (useragent.contains("nt 5.2")) { if (useragent.contains("64")) osversion = "windows xp"; else osversion = "windows server 2003"; } else if (useragent.contains("nt 5.1")) { osversion = "windows xp"; } else if (useragent.contains("nt 5")) { osversion = "windows 2000"; } else if (useragent.contains("nt 4")) { osversion = "windows nt4"; } else if (useragent.contains("me")) { osversion = "windows me"; } else if (useragent.contains("98")) { osversion = "windows 98"; } else if (useragent.contains("95")) { osversion = "windows 95"; } else if (useragent.contains("mac")) { osversion = "mac"; } else if (useragent.contains("unix")) { osversion = "unix"; } else if (useragent.contains("linux")) { osversion = "linux"; } else if (useragent.contains("sunos")) { osversion = "sunos"; } else { osversion = system.web.httpcontext.current.request.browser.platform; } return osversion; }
上面的方法就是通过解析useragent中包含的操作系统字符串信息,返回具体的操作系统和版本,其中request.browser.platform是获得操作系统的内核,如果上面的都不匹配就直接返回操作系统的内核版本,上面的方法可以检测到最新的windows 10,同时可以检测苹果、linux、sunos等主流操作系统。
调用方法我们可以像下面的代码这样写:
复制代码 代码如下:
string systemname = getosnamebyuseragent(system.web.httpcontext.current.request.useragent);
通过传入request的useragent就可以返回操作系统的了。
.net 获取客户端的浏览器版本
.net获取浏览器版本很简单,只需要通过request的browser固有属性即可,如下面的代码
复制代码 代码如下:
string browsername = system.web.httpcontext.current.request.browser.browser + " " + system.web.httpcontext.current.request.browser.version;
.net获取ip地址:
/// <summary> /// 获取当前客户端ip地址 /// </summary> /// <returns></returns> public static string getcurrentuserhostaddress() { string userhostaddress = ""; userhostaddress = system.web.httpcontext.current.request.servervariables["http_x_forwarded_for"]; if (string.isnullorempty(userhostaddress)) { //没有代理ip则直接取连接客户端ip userhostaddress = system.web.httpcontext.current.request.servervariables["remote_addr"]; } return userhostaddress; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。