博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net获取服务端和客户端信息
阅读量:6281 次
发布时间:2019-06-22

本文共 3369 字,大约阅读时间需要 11 分钟。

  hot3.png

asp.net获取服务端和客户端信息  

 

获取服务器名:Page.Server.ManchineName

获取用户信息:Page.User
获取客户端电脑名:Page.Request.UserHostName
获取客户端IP:Page.Request.UserHostAddress

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

 

 

/// <summary>

/// 根据 User Agent 获取操作系统名称
/// </summary>
private string GetOSNameByUserAgent(string userAgent)
{
    string osVersion = "未知";
    if (userAgent.Contains("NT 6.0"))
    {
        osVersion = "Windows Vista/Server 2008";
    }
    else if (userAgent.Contains("NT 5.2"))
    {
        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";
    }
    return osVersion;
}

转载于:https://my.oschina.net/hzdx/blog/276701

你可能感兴趣的文章
SSH通过密钥对验证方式进行远程访问及控制
查看>>
Python学习——编程语言介绍
查看>>
深入浅出oracle锁---原理篇
查看>>
SentOS Linux下安装MongoDB
查看>>
我的友情链接
查看>>
linux 下配置静态路由
查看>>
解决问题E: 无法获得锁
查看>>
Python 实现文件复制、删除
查看>>
在onCreate方法中动态创建contentView
查看>>
Windowbuilder之swt designer安装与使用
查看>>
我的友情链接
查看>>
实现数据库的跨库join
查看>>
centos7之最基本的nfs文件共享服务
查看>>
VMware虚拟化技术培训(2)了解vSphere
查看>>
IPTABLES
查看>>
XML的读、写操作
查看>>
OC 省市区划分
查看>>
输出 和*组成的菱形
查看>>
label 和 button下划线
查看>>
关于对strcpy函数的编写与优化
查看>>