.NET獲取客戶端的操作系統(tǒng)版本、瀏覽器版本和IP地址
我們在使用.NET做網(wǎng)站的時候,很多情況下需要需要知道客戶端的操作系統(tǒng)版本和瀏覽器版本,怎樣獲取客戶端的操作系統(tǒng)和瀏覽器版本呢?我們可以通過分析UserAgent來獲取。
.NET 獲取客戶端的操作系統(tǒng)
請看下面的代碼,我們首先創(chuàng)建一個通過分析UserAgent來獲取操作系統(tǒng)的方法
/// <summary>
/// 獲取操作系統(tǒng)的名字
/// </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中包含的操作系統(tǒng)字符串信息,返回具體的操作系統(tǒng)和版本,其中Request.Browser.Platform是獲得操作系統(tǒng)的內(nèi)核,如果上面的都不匹配就直接返回操作系統(tǒng)的內(nèi)核版本,上面的方法可以檢測到最新的Windows 10,同時可以檢測蘋果、Linux、SunOS等主流操作系統(tǒng)。
調(diào)用方法我們可以像下面的代碼這樣寫:
通過傳入Request的UserAgent就可以返回操作系統(tǒng)的了。
.NET 獲取客戶端的瀏覽器版本
.NET獲取瀏覽器版本很簡單,只需要通過request的Browser固有屬性即可,如下面的代碼
.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;
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- ASP.NET簡單獲取服務端和客戶端計算機名稱的方法
- 獲取asp.net服務器控件的客戶端ID和Name的實現(xiàn)方法
- asp.net實現(xiàn)獲取客戶端詳細信息
- ASP.net中獲取客戶端參數(shù)操作系統(tǒng)信息
- ASP.Net獲取客戶端網(wǎng)卡MAC的小例子
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- 獲取客戶端IP地址c#/vb.net各自實現(xiàn)代碼
- ASP.NET獲取真正的客戶端IP地址的6種方法
- jquery獲取ASP.NET服務器端控件dropdownlist和radiobuttonlist生成客戶端HTML標簽后的value和text值
相關(guān)文章
ASP.NET MVC使用ActionFilterAttribute實現(xiàn)權(quán)限限制的方法(附demo源碼下載)
這篇文章主要介紹了ASP.NET MVC使用ActionFilterAttribute實現(xiàn)權(quán)限限制的方法,結(jié)合實例形式分析了ASP.NET MVC使用ActionFilterAttribute過濾類實現(xiàn)權(quán)限限制的步驟與相關(guān)技巧,并附帶demo源碼供讀者下載,需要的朋友可以參考下2016-04-04
淺談Asp.net Mvc之Action如何傳多個參數(shù)的方法
本篇文章主要介紹了Asp.net Mvc之Action如何傳多個參數(shù)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-08-08
js獲取Treeview選中的節(jié)點(C#選中CheckBox項)
方法網(wǎng)上有很多,試了一下都有瑕疵,于是設(shè)置斷點調(diào)試,各個屬性查找有用的字段,終于找到,接下來與大家分享解決方法,需要了解的朋友可以參考下2012-12-12
asp.net+js實現(xiàn)的ajax sugguest搜索提示效果
阿會楠根據(jù)網(wǎng)上一份原作者不詳?shù)拇a進行了修改,以適合自己的項目并增加了多個功能。此次放出的代碼為基本實現(xiàn)代碼,也是最接近原來的代碼,略去其他功能。版權(quán)歸原作者所有。2009-04-04
[Asp.Net MVC4]驗證用戶登錄實現(xiàn)實例
這篇文章主要介紹了[Asp.Net MVC4]驗證用戶登錄實現(xiàn)實例,這里整理了詳細的代碼,具有一定的參考價值,有需要的小伙伴可以參考下。2016-12-12
.Net使用Cancellation?Framework取消并行任務
這篇文章介紹了.Net使用Cancellation?Framework取消并行任務的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

