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

时间:2022-01-13 00:05:32

1、通过 UserAgent

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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判断

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<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端的客户端信息呢

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/// <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;
}

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