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

protected void Page_Load(object sender, EventArgs e)
{
    // 将客户端的信息添加到 Dictionary 中
    Dictionary<string, string> clientInfos = new Dictionary<string, string>();
    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>");          
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值