正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> ASP.Net资料库 关闭(快捷键alt+C)
搜索标签: IP 浏览器 客户端 分辨率
检测客户端显示器分辨率、浏览器类型和客户端IP
[阅读次数:1172次]  [发布时间:2009年8月17日]
下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。
ClientPeek.aspx
<%@ Page language="vb" EnableViewState="false" Codebehind="ClientPeek.aspx.vb"
 AutoEventWireup="false" Inherits="aspxWeb.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">
  </HEAD>
  <body id="MyBody" MS_POSITIONING="GridLayout" runat="server">
    <form id="browserpeek" 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("&#215;")
      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("&#215;");
  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
}
}




本页地址: [复制地址]
该页内容非本站原创 收藏自:http://www.host01.com/article/Net/00020003/0562813141411244.htm
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·QQ/MSN在线交流代码
·js替换所有回车换行符
·如何取消键盘上的一些快捷键...
·IE弹出“中国工商银行防钓鱼...
·win7声音小的解决方法
·强制两端对齐的函数或者CSS...
·webdav漏洞的利用
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·本地计算机上的 MSSQLSERVE...
·JS展开和收缩效果(二)
·js验证手机号码格式
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。