asp.net实现获取客户端详细信息

 更新时间:2015年12月03日 08:27:13   作者:柔城  
这篇文章主要介绍了asp.net实现获取客户端详细信息,包括客户端浏览器及主机信息,感兴趣的小伙伴们可以参考一下

本文实例讲述了asp.net实现获取客户端详细信息代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

具体代码如下:

其中aspx页面的控件代码:

复制代码 代码如下:
<asp:ListBox runat="server" ID="lbHoverTreeInfo" ClientIDMode="Static"> </asp:ListBox>

以下是实现代码:

using System;
using System.Web;
using System.Web.UI;

namespace HoverTreeTool.HvtInfo.KeleyiClient
{
public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string userAgent = Request.UserAgent == null ? "无" : Request.UserAgent;
if (!IsPostBack)
{lbHoverTreeInfo.Items.Add("您的系统信息为:");
lbHoverTreeInfo.Items.Add("客户端IP[Page.Request.UserHostAddress]:"+ Page.Request.UserHostAddress);
lbHoverTreeInfo.Items.Add("浏览器类型[Request.Browser.Browser]:" + Request.Browser.Browser);
lbHoverTreeInfo.Items.Add("浏览器标识[Request.Browser.Id]:" + Request.Browser.Id);
lbHoverTreeInfo.Items.Add("浏览器版本号[Request.Browser.Version]:" + Request.Browser.Version);
lbHoverTreeInfo.Items.Add("浏览器是不是测试版本[Request.Browser.Beta]:" + Request.Browser.Beta);
lbHoverTreeInfo.Items.Add("浏览器类型[Request.Browser.Type]:" + Request.Browser.Type);
lbHoverTreeInfo.Items.Add("是否支持框架网页[Request.Browser.Frames]:" + Request.Browser.Frames);
lbHoverTreeInfo.Items.Add("是否支持Cookie[Request.Browser.Cookies]:" + Request.Browser.Cookies);
lbHoverTreeInfo.Items.Add("浏览器JScript版本[Request.Browser.JScriptVersion]:" + Request.Browser.JScriptVersion);
lbHoverTreeInfo.Items.Add("屏幕分辨率宽[System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width ]]:" + System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width);
lbHoverTreeInfo.Items.Add("屏幕分辨率高[System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height ]]:" + System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height);
lbHoverTreeInfo.Items.Add("浏览器类型[Request.Browser.Type]:" + Request.Browser.Type);
lbHoverTreeInfo.Items.Add("客户端IP[GetHoverTreeIp()]:" + GetHoverTreeIp());
lbHoverTreeInfo.Items.Add("客户端的操作系统[Request.Browser.Platform]:" + Request.Browser.Platform);
lbHoverTreeInfo.Items.Add("客户端的操作系统[GetHoverTreeOSName(userAgent)]:" + GetHoverTreeOSName(userAgent));
lbHoverTreeInfo.Items.Add("是不是win16系统[Request.Browser.Win16]:" + Request.Browser.Win16);
lbHoverTreeInfo.Items.Add("是不是win32系统[Request.Browser.Win32]:" + Request.Browser.Win32);
lbHoverTreeInfo.Items.Add("客户端.NET Framework版本:Request.Browser.ClrVersion]:" + Request.Browser.ClrVersion);
lbHoverTreeInfo.Items.Add("是否支持Java[Request.Browser.JavaApplets]:" + Request.Browser.JavaApplets);

if (Request.ServerVariables["HTTP_UA_CPU"] == null)
lbHoverTreeInfo.Items.Add("CPU 类型[Request.ServerVariables[\"HTTP_UA_CPU\"]]:未知");
else
lbHoverTreeInfo.Items.Add("CPU 类型[Request.ServerVariables[\"HTTP_UA_CPU\"]]:" + Request.ServerVariables["HTTP_UA_CPU"]);

lbHoverTreeInfo.Items.Add("UserAgent信息[Request.UserAgent]:" + userAgent);
lbHoverTreeInfo.Items.Add("By 何问起工具 http://tool.hovertree.com/info/client/");

}
}

/// <summary>
/// 获取真实IP
/// </summary>
/// <returns></returns>
public string GetHoverTreeIp()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}

/// <summary>
/// 根据 User Agent 获取操作系统名称
/// </summary>
private string GetHoverTreeOSName(string userAgent)
{
string m_hvtOsVersion = "未知";
if (userAgent.Contains("NT 6.4"))
{
m_hvtOsVersion = "Windows 10";
}
else
if (userAgent.Contains("NT 6.3"))
{
m_hvtOsVersion = "Windows 8.1";
}
else
if (userAgent.Contains("NT 6.2"))
{
m_hvtOsVersion = "Windows 8";
}
else
if (userAgent.Contains("NT 6.1"))
{
m_hvtOsVersion = "Windows 7";
}else
if (userAgent.Contains("NT 6.0"))
{
m_hvtOsVersion = "Windows Vista/Server 2008";
}
else if (userAgent.Contains("NT 5.2"))
{
m_hvtOsVersion = "Windows Server 2003";
}
else if (userAgent.Contains("NT 5.1"))
{
m_hvtOsVersion = "Windows XP";
}
else if (userAgent.Contains("NT 5"))
{
m_hvtOsVersion = "Windows 2000";
}
else if (userAgent.Contains("NT 4"))
{
m_hvtOsVersion = "Windows NT4";
}
else if (userAgent.Contains("Me"))
{
m_hvtOsVersion = "Windows Me";
}
else if (userAgent.Contains("98"))
{
m_hvtOsVersion = "Windows 98";
}
else if (userAgent.Contains("95"))
{
m_hvtOsVersion = "Windows 95";
}
else if (userAgent.Contains("Mac"))
{
m_hvtOsVersion = "Mac";
}
else if (userAgent.Contains("Unix"))
{
m_hvtOsVersion = "UNIX";
}
else if (userAgent.Contains("Linux"))
{
m_hvtOsVersion = "Linux";
}
else if (userAgent.Contains("SunOS"))
{
m_hvtOsVersion = "SunOS";
}
return m_hvtOsVersion;
}

}
}

以上就是asp.net获取客户端浏览器及主机信息的关键代码,希望对大家的学习有所帮助。

相关文章

  • ASP.NET数据绑定之Repeater控件

    ASP.NET数据绑定之Repeater控件

    这篇文章主要介绍了ASP.NET数据绑定中的Repeater控件,Repeater控件可以将数据库中的信息加以绑定然后再在浏览器中显示出来,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • asp.net防止刷新时重复提交(可禁用工具条刷新按钮)

    asp.net防止刷新时重复提交(可禁用工具条刷新按钮)

    前段时间遇到了需要禁用刷新的需求,f5按钮就不说了,简单的js就能把它禁用,但是工具条上的刷新按钮却防止不了啊,不过本文介绍的一种方法却可以解决此问题,感兴趣的朋友可以了解下啊,希望本文对你有所帮助
    2013-01-01
  • 导致Asp.Net站点重启10个原因小结分析

    导致Asp.Net站点重启10个原因小结分析

    Asp.Net站点有时候会莫名其妙的重启,什么原因导致的却不得而知,经过一番折腾后,我总结了导致Asp.Net站点重启的10个原因,需要的朋友可以参考下。
    2011-08-08
  • AspNetPager控件的最基本用法示例介绍

    AspNetPager控件的最基本用法示例介绍

    AspNetPager控件弥补了GridView内置分页以及PageDatasource类辅助分页的不足,下面仅举一个最基本的用法,帮助初学者入门
    2014-09-09
  • ASP.NET Core中使用Swagger

    ASP.NET Core中使用Swagger

    这篇文章介绍了ASP.NET Core中使用Swagger的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • ASP.NET通过第三方网站Bitly实现短链接地址程序

    ASP.NET通过第三方网站Bitly实现短链接地址程序

    这篇文章主要介绍了ASP.NET通过第三方网站Bitly实现短链接地址程序的步骤,需要的朋友可以参考下。
    2016-06-06
  • ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤

    ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤

    GridView,ASP.NET中很常用的数据显示控件,这里,我将用这个控件来实现课程表的显示。首先说说课程表的显示与普通记录的显示有何不同?感兴趣的朋友可以了解下,或许对你有所帮助
    2013-02-02
  • asp.net 数据库备份还原(sqlserver+access)

    asp.net 数据库备份还原(sqlserver+access)

    Asp.net 备份、还原Ms SQLServer及压缩Access数据库
    2008-11-11
  • asp.net core应用docke部署到centos7的全过程

    asp.net core应用docke部署到centos7的全过程

    这篇文章主要给大家介绍了关于asp.net core应用docke部署到centos7的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • .NET日志框架Nlog使用介绍

    .NET日志框架Nlog使用介绍

    这篇文章介绍了.NET日志框架Nlog的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01

最新评论