当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net实现识别客户端浏览器或操作系统

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

隔世暴君小小妃,太湖字谜图库,河北状元

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网