asp.net获取客户端浏览器及主机信息

简介: 原文:asp.net获取客户端浏览器及主机信息在线预览效果:http://tool.hovertree.com/info/client/其中aspx页面的控件代码: 以下是实现代码: 1 using System; 2 using System.
原文: asp.net获取客户端浏览器及主机信息

在线预览效果:
http://tool.hovertree.com/info/client/

其中aspx页面的控件代码:

<asp:ListBox runat="server" ID="lbHoverTreeInfo" ClientIDMode="Static"> </asp:ListBox>

以下是实现代码:

  1 using System;
  2 using System.Web;
  3 using System.Web.UI;
  4 
  5 namespace HoverTreeTool.HvtInfo.KeleyiClient
  6 {
  7 public partial class Index : System.Web.UI.Page
  8 {
  9 protected void Page_Load(object sender, EventArgs e)
 10 {
 11 string userAgent = Request.UserAgent == null ? "" : Request.UserAgent;
 12 if (!IsPostBack)
 13 {lbHoverTreeInfo.Items.Add("您的系统信息为:");
 14 lbHoverTreeInfo.Items.Add("客户端IP[Page.Request.UserHostAddress]:"+ Page.Request.UserHostAddress);
 15 lbHoverTreeInfo.Items.Add("浏览器类型[Request.Browser.Browser]:" + Request.Browser.Browser);
 16 lbHoverTreeInfo.Items.Add("浏览器标识[Request.Browser.Id]:" + Request.Browser.Id);
 17 lbHoverTreeInfo.Items.Add("浏览器版本号[Request.Browser.Version]:" + Request.Browser.Version);
 18 lbHoverTreeInfo.Items.Add("浏览器是不是测试版本[Request.Browser.Beta]:" + Request.Browser.Beta);
 19 lbHoverTreeInfo.Items.Add("浏览器类型[Request.Browser.Type]:" + Request.Browser.Type);
 20 lbHoverTreeInfo.Items.Add("是否支持框架网页[Request.Browser.Frames]:" + Request.Browser.Frames);
 21 lbHoverTreeInfo.Items.Add("是否支持Cookie[Request.Browser.Cookies]:" + Request.Browser.Cookies);
 22 lbHoverTreeInfo.Items.Add("浏览器JScript版本[Request.Browser.JScriptVersion]:" + Request.Browser.JScriptVersion);
 23 lbHoverTreeInfo.Items.Add("屏幕分辨率宽[System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width ]]:" + System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width);
 24 lbHoverTreeInfo.Items.Add("屏幕分辨率高[System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height ]]:" + System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height);
 25 lbHoverTreeInfo.Items.Add("浏览器类型[Request.Browser.Type]:" + Request.Browser.Type);
 26 lbHoverTreeInfo.Items.Add("客户端IP[GetHoverTreeIp()]:" + GetHoverTreeIp());
 27 lbHoverTreeInfo.Items.Add("客户端的操作系统[Request.Browser.Platform]:" + Request.Browser.Platform);
 28 lbHoverTreeInfo.Items.Add("客户端的操作系统[GetHoverTreeOSName(userAgent)]:" + GetHoverTreeOSName(userAgent));
 29 lbHoverTreeInfo.Items.Add("是不是win16系统[Request.Browser.Win16]:" + Request.Browser.Win16);
 30 lbHoverTreeInfo.Items.Add("是不是win32系统[Request.Browser.Win32]:" + Request.Browser.Win32);
 31 lbHoverTreeInfo.Items.Add("客户端.NET Framework版本:Request.Browser.ClrVersion]:" + Request.Browser.ClrVersion);
 32 lbHoverTreeInfo.Items.Add("是否支持Java[Request.Browser.JavaApplets]:" + Request.Browser.JavaApplets);
 33 
 34 if (Request.ServerVariables["HTTP_UA_CPU"] == null)
 35 lbHoverTreeInfo.Items.Add("CPU 类型[Request.ServerVariables[\"HTTP_UA_CPU\"]]:未知");
 36 else
 37 lbHoverTreeInfo.Items.Add("CPU 类型[Request.ServerVariables[\"HTTP_UA_CPU\"]]:" + Request.ServerVariables["HTTP_UA_CPU"]);
 38 
 39 lbHoverTreeInfo.Items.Add("UserAgent信息[Request.UserAgent]:" + userAgent);
 40 lbHoverTreeInfo.Items.Add("By 何问起工具 http://tool.hovertree.com/info/client/");
 41 
 42 }
 43 }
 44 
 45 /// <summary>
 46 /// 获取真实IP
 47 /// </summary>
 48 /// <returns></returns>
 49 public string GetHoverTreeIp()
 50 {
 51 string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
 52 if (null == result || result == String.Empty)
 53 {
 54 result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
 55 }
 56 if (null == result || result == String.Empty)
 57 {
 58 result = HttpContext.Current.Request.UserHostAddress;
 59 }
 60 return result;
 61 }
 62 
 63 /// <summary>
 64 /// 根据 User Agent 获取操作系统名称
 65 /// </summary>
 66 private string GetHoverTreeOSName(string userAgent)
 67 {
 68 string m_hvtOsVersion = "未知";
 69 if (userAgent.Contains("NT 6.4"))
 70 {
 71 m_hvtOsVersion = "Windows 10";
 72 }
 73 else
 74 if (userAgent.Contains("NT 6.3"))
 75 {
 76 m_hvtOsVersion = "Windows 8.1";
 77 }
 78 else
 79 if (userAgent.Contains("NT 6.2"))
 80 {
 81 m_hvtOsVersion = "Windows 8";
 82 }
 83 else
 84 if (userAgent.Contains("NT 6.1"))
 85 {
 86 m_hvtOsVersion = "Windows 7";
 87 }else
 88 if (userAgent.Contains("NT 6.0"))
 89 {
 90 m_hvtOsVersion = "Windows Vista/Server 2008";
 91 }
 92 else if (userAgent.Contains("NT 5.2"))
 93 {
 94 m_hvtOsVersion = "Windows Server 2003";
 95 }
 96 else if (userAgent.Contains("NT 5.1"))
 97 {
 98 m_hvtOsVersion = "Windows XP";
 99 }
100 else if (userAgent.Contains("NT 5"))
101 {
102 m_hvtOsVersion = "Windows 2000";
103 }
104 else if (userAgent.Contains("NT 4"))
105 {
106 m_hvtOsVersion = "Windows NT4";
107 }
108 else if (userAgent.Contains("Me"))
109 {
110 m_hvtOsVersion = "Windows Me";
111 }
112 else if (userAgent.Contains("98"))
113 {
114 m_hvtOsVersion = "Windows 98";
115 }
116 else if (userAgent.Contains("95"))
117 {
118 m_hvtOsVersion = "Windows 95";
119 }
120 else if (userAgent.Contains("Mac"))
121 {
122 m_hvtOsVersion = "Mac";
123 }
124 else if (userAgent.Contains("Unix"))
125 {
126 m_hvtOsVersion = "UNIX";
127 }
128 else if (userAgent.Contains("Linux"))
129 {
130 m_hvtOsVersion = "Linux";
131 }
132 else if (userAgent.Contains("SunOS"))
133 {
134 m_hvtOsVersion = "SunOS";
135 }
136 return m_hvtOsVersion;
137 }
138 
139 }
140 }

转载自:http://hovertree.com/hvtart/bjae/n9f5pp4r.htm

开发技术文章: http://www.cnblogs.com/sosoft/p/kaifajishu.html

ASP.NET开源CMS http://www.cnblogs.com/sosoft/p/cms.html

目录
相关文章
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
298 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
629 8
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
267 4
|
Web App开发 API Windows
取接口访问者信息[IP,浏览器,操作系统]免费API接口教程
此API用于获取访问者的IP地址、浏览器和操作系统信息,支持70多种浏览器和操作系统。通过POST或GET请求至`https://cn.apihz.cn/api/ip/getapi.php`,需提供用户ID和KEY。返回结果包括状态码、消息、IP、浏览器和操作系统信息。示例:{&quot;code&quot;:200,&quot;ip&quot;:&quot;175.154.88.178&quot;,&quot;browser&quot;:&quot;Chrome&quot;,&quot;os&quot;:&quot;Windows 10&quot;}。详情见官网文档。
374 0
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
273 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题
|
JavaScript
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
137 1
|
存储 PHP Windows
Typecho——非插件方式实现评论显示系统信息和浏览器信息
Typecho——非插件方式实现评论显示系统信息和浏览器信息
178 0
|
NoSQL 大数据 Redis
分享5款.NET开源免费的Redis客户端组件库
分享5款.NET开源免费的Redis客户端组件库
266 1