asp.net 通過(guò)UserAgent判斷智能設(shè)備(Android,IOS)
更新時(shí)間:2011年10月18日 21:59:50 作者:
搜集了比較全的 智能設(shè)備 的 Agent,然后又寫(xiě)了程序,需要的朋友可以參考下
最近一直在升級(jí)公司的手機(jī)站點(diǎn),出了個(gè)觸屏版專(zhuān)用的,做好后,就嘗試通過(guò) Agent 來(lái)判斷相應(yīng)的智能手機(jī)設(shè)備,然后跳轉(zhuǎn)到新的手機(jī)站點(diǎn)經(jīng)過(guò)不懈的努力,終于搜集了比較全的 智能設(shè)備 的 Agent,然后又寫(xiě)了程序,直接上代碼吧 ,希望能幫助到你
/// <summary>
/// 根據(jù) Agent 判斷是否是智能手機(jī)
/// </summary>
/// <returns></returns>
public static bool CheckAgent()
{
bool flag = false;
string agent = HttpContext.Current.Request.UserAgent;
string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };
//排除Window 桌面系統(tǒng) 和 蘋(píng)果桌面系統(tǒng)
if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
{
foreach (string item in keywords)
{
if (agent.Contains(item))
{
flag = true;
break;
}
}
}
return flag;
}
代碼解釋?zhuān)?
1. !agent.Contains("Windows NT") && !agent.Contains("Macintosh") 排除Window 桌面系統(tǒng) 和 蘋(píng)果桌面系統(tǒng)
2. "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" 這些是判斷智能設(shè)備Agent中的關(guān)鍵詞
3. MQQBrowser 為 QQ 手機(jī)瀏覽器,QQ 手機(jī)的Agent 比較特殊,所以單獨(dú)判斷
下面搜集的一些Agent,話(huà)說(shuō)找到這么多的智能設(shè)備,好不容易啊:
Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)
Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2
Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
復(fù)制代碼 代碼如下:
/// <summary>
/// 根據(jù) Agent 判斷是否是智能手機(jī)
/// </summary>
/// <returns></returns>
public static bool CheckAgent()
{
bool flag = false;
string agent = HttpContext.Current.Request.UserAgent;
string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };
//排除Window 桌面系統(tǒng) 和 蘋(píng)果桌面系統(tǒng)
if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
{
foreach (string item in keywords)
{
if (agent.Contains(item))
{
flag = true;
break;
}
}
}
return flag;
}
代碼解釋?zhuān)?
1. !agent.Contains("Windows NT") && !agent.Contains("Macintosh") 排除Window 桌面系統(tǒng) 和 蘋(píng)果桌面系統(tǒng)
2. "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" 這些是判斷智能設(shè)備Agent中的關(guān)鍵詞
3. MQQBrowser 為 QQ 手機(jī)瀏覽器,QQ 手機(jī)的Agent 比較特殊,所以單獨(dú)判斷
下面搜集的一些Agent,話(huà)說(shuō)找到這么多的智能設(shè)備,好不容易啊:
Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)
Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2
Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1
您可能感興趣的文章:
- IOS獲取當(dāng)前版本號(hào) Bundle ID等信息的方法詳解
- iOS獲取設(shè)備唯一標(biāo)識(shí)的8種方法
- iOS獲取當(dāng)前設(shè)備WiFi信息的方法
- Cisco設(shè)備IOS的恢復(fù)方法
- 使用Reachability類(lèi)判斷iOS設(shè)備的當(dāng)前網(wǎng)絡(luò)連接類(lèi)型
- iOS獲取當(dāng)前設(shè)備型號(hào)等信息(全)包含iPhone7和iPhone7P
- iOS如何獲取屏幕寬高、設(shè)備型號(hào)、系統(tǒng)版本信息
- iOS獲取當(dāng)前app的設(shè)備名稱(chēng)和版本號(hào)等內(nèi)容
相關(guān)文章
利用asp.net實(shí)現(xiàn)生成不重復(fù)訂單號(hào)
訂單號(hào)在購(gòu)物過(guò)程中起到了很好的識(shí)別作用,更方便的有利于工作人員識(shí)別商品,本文介紹利用asp.net實(shí)現(xiàn)生成訂單號(hào)2012-12-12服務(wù)器讀取EXCEL不安裝OFFICE如何實(shí)現(xiàn)
用asp.net做了一簡(jiǎn)單的游戲管理后臺(tái),涉及到了上傳Excel導(dǎo)入數(shù)據(jù)的功能,在本地開(kāi)發(fā)實(shí)現(xiàn)都好好的,可已上傳的服務(wù)器上就悲劇了,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下2014-03-03asp.net使用DataTable構(gòu)造Json字符串的方法
這篇文章主要介紹了asp.net使用DataTable構(gòu)造Json字符串的方法,涉及asp.net字符串序列化、遍歷及構(gòu)造等操作技巧,需要的朋友可以參考下2015-12-12Redis數(shù)據(jù)庫(kù)基礎(chǔ)與ASP.NET?Core緩存實(shí)現(xiàn)
這篇文章介紹了Redis數(shù)據(jù)庫(kù)基礎(chǔ)與ASP.NET?Core緩存實(shí)現(xiàn)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02CreateOutputCachedItemKey 緩存key的創(chuàng)建
有關(guān)OutputCache的相關(guān)資料大家可以查看 OutputCacheProvider OutputCache的一點(diǎn)點(diǎn)認(rèn)識(shí) ,我們還是復(fù)習(xí)一下OutputCache內(nèi)容2012-11-11