• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net实现识别客户端浏览器或操作系统

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了asp.net,asp net培训,asp和asp.net的区别,零基础学asp.net,c#和asp.net的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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;
    }
  }
</div>

2.考虑asp.net mvc

里面有for mobile的模版

3.获取浏览器的属性

 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>
</div>

我们再来看下如何获取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;
}
</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2017-05-11asp.net微信开发(开发者接入)
  • 2017-05-11ajaxpro.dll 控件实现异步刷新页面
  • 2017-05-11asp.net 点缩略图弹出随图片大小自动调整的页面
  • 2017-05-11asp.net 自动将汉字转换成拼音第一个字母
  • 2017-05-11asp.net 参数不同共用一个页面的实现方法
  • 2017-05-11asp.net传多个值到其它页面的具体实现
  • 2017-05-11C#中使用SendMessage
  • 2017-05-11ADO与ADO.NET的区别与介绍
  • 2017-05-11asp.net读取excel文件的三种方法示例
  • 2017-05-11js实现网页防止被iframe框架嵌套及几种location.href的区别

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .NET 水晶报表使用代码
    • C#中使用SQLite数据库的方法介绍
    • MVC HtmlHelper扩展类(PagingHelper)实现分页功能
    • .NetCore获取Json和Xml格式的配置信息
    • .net输出重写压缩页面文件的小例子
    • 使用asp.net调用谷歌地图api示例
    • .NET获取客户端的操作系统版本、浏览器版本和IP地址
    • 如何给ASP.NET Core Web发布包做减法详解
    • Asp.net 通用万级数据分页代码[修正下载地址]
    • 浅谈.NET中加密和解密的实现方法分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有