ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息(图)

先看看效果图吧:

 

代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    
// 将客户端的信息添加到 Dictionary 中
    Dictionary<stringstring> clientInfos = new Dictionary<stringstring>();
    
try
    {
        
string ip = Request.UserHostAddress;
        string userAgent = Request.UserAgent == null ? "" : Request.UserAgent;
        
if(Request.ServerVariables["HTTP_UA_CPU"== null)
            clientInfos.Add(
"CPU 类型""未知");
        
else
            clientInfos.Add(
"CPU 类型", Request.ServerVariables["HTTP_UA_CPU"]);
        clientInfos.Add(
"操作系统"this.GetOSNameByUserAgent(userAgent));
        clientInfos.Add(
"IP 地址", ip);
        
if(Request.Browser.ClrVersion == null)
            clientInfos.Add(
".NET CLR 版本""不支持");
        
else
            clientInfos.Add(
".NET CLR 版本", Request.Browser.ClrVersion.ToString());
        clientInfos.Add(
"浏览器", Request.Browser.Browser + Request.Browser.Version);
        clientInfos.Add(
"支持 ActiveX", Request.Browser.ActiveXControls ? "支持" : "不支持");
        clientInfos.Add(
"支持 Cookies", Request.Browser.Cookies ? "支持" : "不支持");
        clientInfos.Add(
"支持 CSS", Request.Browser.SupportsCss ? "支持" : "不支持");
        clientInfos.Add(
"语言", Request.UserLanguages[0]);

        
string httpAccept = Request.ServerVariables["HTTP_ACCEPT"];
        
if (httpAccept == null)
            clientInfos.Add(
"计算机/手机""未知");
        
else if (httpAccept.IndexOf("wap"> -1)
            clientInfos.Add(
"计算机/手机""手机");
        
else
            clientInfos.Add(
"计算机/手机""计算机");
        clientInfos.Add(
"Platform", Request.Browser.Platform);
        clientInfos.Add(
"Win16", Request.Browser.Win16 ? "" : "不是");
        clientInfos.Add(
"Win32", Request.Browser.Win32 ? "" : "不是");

        
if(Request.ServerVariables["HTTP_ACCEPT_ENCODING"== null)
            clientInfos.Add(
"Http Accept Encoding""");
        
else
            clientInfos.Add(
"Http Accept Encoding", Request.ServerVariables["HTTP_ACCEPT_ENCODING"]);
        clientInfos.Add(
"User Agent", userAgent);
    }
    
catch (Exception ex)
    {
        Response.Write(ex.Message);
    }

    
// 根据 Dictionary 中的内容在 Table 中显示客户端信息
    this.Response.Write("<table cellpadding=0 cellspacing=0>");
    
this.Response.Write("<tr>");
    
this.Response.Write("<td width=145>项目</td>");
    
this.Response.Write("<td>值</td>");
    
this.Response.Write("</tr>");
    
foreach (string key in clientInfos.Keys)
    {
        
this.Response.Write("<tr>");
        
this.Response.Write("<td>" + key + "</font></td>");
        
this.Response.Write("<td>" + clientInfos[key].ToString() + "</td>");
        
this.Response.Write("</tr>");
    }
    
this.Response.Write("</table>");           
}

这是是获取操作系统名称的代码:

根据User Agent获取操作系统名称
原文地址:https://www.cnblogs.com/anjou/p/1259843.html