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

