当前位置: 移动技术网 > IT编程>开发语言>.net > .NET获取客户端的操作系统版本、浏览器版本和IP地址

.NET获取客户端的操作系统版本、浏览器版本和IP地址

2017年12月12日  | 移动技术网IT编程  | 我要评论

美女游戏网,爱你永远如初见,厨师天下

我们在使用.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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网