asp.net实现识别客户端浏览器或操作系统

1、通过 UserAgent

protected void Page_Load(object sender, EventArgs e)
  {
    //验证终端
    string agent = Request.Headers["User-Agent"];
    if (choose_net(agent))
    {
      Response.Redirect("/mobile/");
    }
  }

  //验证终端
  public bool choose_net(String userAgent)
  {
    if (userAgent.IndexOf("Noki") > -1 || // Nokia phones and emulators
         userAgent.IndexOf("Eric") > -1 || // Ericsson WAP phones and emulators
         userAgent.IndexOf("WapI") > -1 || // Ericsson WapIDE 2.0
         userAgent.IndexOf("MC21") > -1 || // Ericsson MC218
         userAgent.IndexOf("AUR") > -1 || // Ericsson R320
         userAgent.IndexOf("R380") > -1 || // Ericsson R380
         userAgent.IndexOf("UP.B") > -1 || // UP.Browser
         userAgent.IndexOf("WinW") > -1 || // WinWAP browser
         userAgent.IndexOf("UPG1") > -1 || // UP.SDK 4.0
         userAgent.IndexOf("upsi") > -1 || //another kind of UP.Browser
         userAgent.IndexOf("QWAP") > -1 || // unknown QWAPPER browser
         userAgent.IndexOf("Jigs") > -1 || // unknown JigSaw browser
         userAgent.IndexOf("Java") > -1 || // unknown Java based browser
         userAgent.IndexOf("Alca") > -1 || // unknown Alcatel-BE3 browser (UP based)  

         userAgent.IndexOf("MITS") > -1 || // unknown Mitsubishi browser
         userAgent.IndexOf("MOT-") > -1 || // unknown browser (UP based)
         userAgent.IndexOf("My S") > -1 ||// unknown Ericsson devkit browser
         userAgent.IndexOf("WAPJ") > -1 ||//Virtual WAPJAG www.wapjag.de
         userAgent.IndexOf("fetc") > -1 ||//fetchpage.cgi Perl script from www.wapcab.de

         userAgent.IndexOf("ALAV") > -1 || //yet another unknown UP based browser
         userAgent.IndexOf("Wapa") > -1 || //another unknown browser (Web based

"Wapalyzer")
         userAgent.IndexOf("UCWEB") > -1 || //another unknown browser (Web based

"Wapalyzer")
         userAgent.IndexOf("BlackBerry") > -1 || //another unknown browser (Web

based "Wapalyzer")
         userAgent.IndexOf("J2ME") > -1 || //another unknown browser (Web based

"Wapalyzer")
         userAgent.IndexOf("Oper") > -1 ||
         userAgent.IndexOf("Android") > -1 ||
      userAgent.IndexOf("mozilla") > -1)
    {
      return true;
    }
    else
    {
      return false;
    }
  }

2.考虑asp.net mvc

里面有for mobile的模版

3.获取浏览器的属性

代码如下:

HttpBrowserCapabilities bc=Request.Browser; Response.Write("<script language='javascript'>alert('" + bc.Browser + "');</script>");

4.js判断

<script type="text/javascript">
    var bro = navigator.userAgent;
    //alert(bro);
    // alert(bro.indexOf("Windows Phone"));
    // iPad 浏览器navigator.userAgent(包含iPad)
    if (bro.indexOf("NetFront") > 0 || bro.indexOf("UCWEB") > 0
      || bro.indexOf("iPhone") > 0 || bro.indexOf("Windows CE") > 0
      || bro.indexOf("MIDP-2.0") > 0 || bro.indexOf("Android") > 0
      || bro.indexOf("Opera Mini") > 0 || bro.indexOf("SymbianOS") > 0
      || bro.indexOf("Windows Phone") > 0) {
      window.open("Wap1/Index.aspx", "_top");
    }
    //    else if (bro.indexOf("Windows NT") > 0) {
    //      window.open("NewWeb/default.html", "_top");
    //    }
        else {
          window.open("NewWeb/default.html", "_top");
        }
  </script>

我们再来看下如何获取PC端的客户端信息呢

/// <summary>
/// 获取操作系统的名字
/// </summary>
/// <param name="userAgent"></param>
/// <returns></returns>
private 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 = HttpContext.Current.Request.Browser.Platform;
	}
	return osVersion;
}

基本上很全了,小伙伴们根据需求自由选择吧

(0)

相关推荐

  • 基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统

    废话不多说了,直接给大家贴js代码了,代码附有注释,感兴趣的朋友一起学习吧. /** * Author: laixiangran. * Created by laixiangran on 2015/12/02. * 检测访问网页的浏览器呈现引擎.平台.Windows操作系统.移动设备和游戏系统 * ******************************************************************** * 各版本浏览器在windows10.0下的用户代理字符串:

  • PHP获取用户的浏览器与操作系统信息的代码

    1.用户访问服务器时,利用PHP的超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 我访问时的$_SERVER['HTTP_USER_AGENT'] 字符串 : Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2 2.利用正则表达式匹配以上字符串,用户的浏览器 操作系

  • php中修改浏览器的User-Agent来伪装你的浏览器和操作系统

    得到HTTP_USER_AGENT 的方法很简单,比如php代码: 复制代码 代码如下: <?php print_r($_SERVER); ?> 复制代码 代码如下: <?php print_r($_SERVER['HTTP_USER_AGENT']); ?> 这两种都可以得到User-Agents和IP等信息,最好配合正则表达式,对信息进行筛选剔除. ----– User-Agents列表----- Internet Explorer 6 Internet Explorer 7

  • jsp 获取客户端的浏览器和操作系统信息

    string agent = request.getheader("user-agent"); stringtokenizer st = new stringtokenizer(agent,";"); st.nexttoken(); //得到用户的浏览器名 string userbrowser = st.nexttoken(); //得到用户的操作系统名 string useros = st.nexttoken(); 取得本机的信息也可以这样: 操作系统信息 sys

  • JavaScript 检测浏览器和操作系统的脚本

    Web编程中,识别用户的浏览器以及操作系统非常重要.因为它们对HTML和JavaScript的支持程度有所不同.一般应用在系统登陆页面或者首页中. 具体应用如下: 复制代码 代码如下: <html> <head> <title>Login</title> <script type="text/javascript" src="detect.js"></script> <script typ

  • JS获得浏览器版本和操作系统版本的例子

    于是,我们可以写出下面的代码: 复制代码 代码如下: <script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s;  (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :  (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :  (s

  • JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js

    检测浏览器的方式 1.对象特征检测法:判断浏览器能力的通用方法.如果更关注浏览器的能力而不在乎它的实际身份,就可以使用这种检测方法.常见的原生Ajax写法中就用这种方法来创建XMLHttpRequest: 复制代码 代码如下: IXHR: function(){ if(window.ActiveXObject){ XHR=new ActiveXObject('Microsoft.XMLHTTP'); }else if(window.XMLHttpRequest){ XHR=new XMLHttp

  • javascript实现获取浏览器版本、操作系统类型

    代码很简洁,功能很实用,这里就不多废话了,直接给大家奉上代码: /** * Created by Administrator on 15-1-12. */ function BroswerUtil() { } BroswerUtil = { //检测浏览器版本 getBrowserVersion: function () { var agent = navigator.userAgent.toLowerCase(); var arr = []; var Browser = ""; va

  • asp.net实现识别客户端浏览器或操作系统

    1.通过 UserAgent protected void Page_Load(object sender, EventArgs e) { //验证终端 string agent = Request.Headers["User-Agent"]; if (choose_net(agent)) { Response.Redirect("/mobile/"); } } //验证终端 public bool choose_net(String userAgent) { if

  • asp.net 获取客户端浏览器访问的IP地址的实例代码

    本文介绍了asp.net 获取客户端浏览器访问的IP地址的实例代码,分享给大家,自己也留个笔记 1.js方法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Document</title> <script src="http://pv.sohu.com/cityjson?ie=utf-8"></scr

  • asp.net 客户端浏览器缓存的Http头介绍

    让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器缓存多长时间,或者坚决不要缓存.作为.net的程序员,其实我们一直都在用这种方法,在OutputCache指令中指定缓存的Location为Client时,其实就是给浏览器发送了一个Http头,告诉浏览器这个Url要缓存多长时间,最后修改的时间. 微软在OutputCacheModule中对这些缓存用到的Http头给我们进行了很好的封装,但是了解这些Http头可以更灵活的使用它们. 和客户端缓存相关的Http头有以下几个,分别是: 1.

  • asp.net实现获取客户端详细信息

    本文实例讲述了asp.net实现获取客户端详细信息代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: 其中aspx页面的控件代码: 复制代码 代码如下: <asp:ListBox runat="server" ID="lbHoverTreeInfo" ClientIDMode="Static"> </asp:ListBox> 以下是实现代码: using System; using System.W

  • js识别uc浏览器的代码

    其实挺简单的就是 if(navigator.userAgent.indexOf('UCBrowser') > -1) { alert("uc浏览器"); }else{ //不是uc浏览器执行的操作 } 如果想测试某个浏览器的特征可以通过如下方法获取 JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持:navigator.javaEn

  • asp.net中“从客户端中检测到有潜在危险的Request.Form值”错误的解决办法

    在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的. 这里给出不同版本.net的解决方法. asp.net 2.0 通常解决办法 方案一: 将.aspx文件中的page项添加ValidateRequest="false" ,如下: <%@ Page ValidateRequest=&qu

  • 获取asp.net服务器控件的客户端ID和Name的实现方法

    前几天在做项目的时候,遇到一个问题,想查看Asp.net中服务器控件在客户端显示的name属性.起初,感觉不是很难找,但就是找不到,几经周折,终于发现了: string btnClientName = btnSearch.UniqueID;//服务器控件在客户端显示的name属性 string btnClientID = btnSearch.ClientID;//服务器控件在客户端显示的id属性 以上这篇获取asp.net服务器控件的客户端ID和Name的实现方法就是小编分享给大家的全部内容了,

  • ASP.net中获取客户端参数操作系统信息

    复制代码 代码如下: /// <summary> /// 获取用户操作系统信息 /// </summary> /// <returns></returns> public string GetUserOS() { string strSysVersion = "其他"; HttpRequest Request = HttpContext.Current.Request; string strAgentInfo = Request.Serv

  • php获得客户端浏览器名称及版本的方法(基于ECShop函数)

    本文实例讲述了php获得客户端浏览器名称及版本的方法.分享给大家供大家参考,具体如下: 看到ecshop中有这么一个函数get_user_browser(),获取浏览器的名称和版本.虽然获取的信息只是简单的一些信息,但是还是很实用.其原理主要是通过$_SERVER['HTTP_USER_AGENT']获得浏览器信息,再用正则进行比对得出浏览器的信息. 以下是各浏览器运行的效果: 源码如下: <?php function get_user_browser() { if (empty($_SERVE

  • php实现读取手机客户端浏览器的类

    本文实例讲述了php实现读取手机客户端浏览器的类.分享给大家供大家参考.具体分析如下: 这里介绍的手机信息函数类有取手机号码,浏览器报头信息,取得手机类型,取得手机IP等功能. 复制代码 代码如下: <?php /** *   类名:   mobile *   描述:   手机信息类 *   其他:   偶然   编写 */ class   mobile{ /** *   函数名称:   getPhoneNumber *   函数功能:   取手机号 *   输入参数:   none *   函

随机推荐