hao_2468

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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("计算机/手机", "计算机");


HttpBrowserCapabilities bc = Request.Browser;
       
        list.Text = "";
        list.Text += "操作系统:" + bc.Platform + "<br>";
        list.Text += "是否是 Win16 系统:" + bc.Win16 + "<br>";
        list.Text += "是否是 Win32 系统:" + bc.Win32 + "<br>";
        list.Text += "---<br>";
       
        list.Text += "浏览器:" + bc.Browser + "<br>";
        list.Text += "浏览器标识:" + bc.Id + "<br>";
        list.Text += "浏览器版本:" + bc.Version + "<br>";
        list.Text += "浏览器 MajorVersion:" + bc.MajorVersion.ToString() + "<br>";
        list.Text += "浏览器 MinorVersion:" + bc.MinorVersion.ToString() + "<br>";
        list.Text += "浏览器是否是测试版本:" + bc.Beta.ToString() + "<br>";
        list.Text += "是否是 America Online 浏览器:" + bc.AOL + "<br>";
        list.Text += "客户端安装的 .NET Framework 版本:" + bc.ClrVersion + "<br>"; //即使安装了 .NET Framework,如果不是 IE 浏览器,检测版本都是 0.0。
        list.Text += "是否是搜索引擎的网络爬虫:" + bc.Crawler + "<br>";
        list.Text += "是否是移动设备:" + bc.IsMobileDevice + "<br>";
        list.Text += "---<br>";        

        list.Text += "显示的颜色深度:" + bc.ScreenBitDepth + "<br>";
        list.Text += "显示的近似宽度(以字符行为单位):" + bc.ScreenCharactersWidth + "<br>";
        list.Text += "显示的近似高度(以字符行为单位):" + bc.ScreenCharactersHeight + "<br>";
        list.Text += "显示的近似宽度(以像素行为单位):" + bc.ScreenPixelsWidth + "<br>";
        list.Text += "显示的近似高度(以像素行为单位):" + bc.ScreenPixelsHeight + "<br>";
        list.Text += "---<br>";
       
        list.Text += "是否支持 CSS:" + bc.SupportsCss + "<br>";
        list.Text += "是否支持 ActiveX 控件:" + bc.ActiveXControls.ToString() + "<br>";
        list.Text += "是否支持 JavaApplets:" + bc.JavaApplets.ToString() + "<br>";
        list.Text += "是否支持 JavaScript:" + bc.JavaScript.ToString() + "<br>";
        list.Text += "JScriptVersion:" + bc.JScriptVersion.ToString() + "<br>";
        list.Text += "是否支持 VBScript:" + bc.VBScript.ToString() + "<br>";
        list.Text += "是否支持 Cookies:" + bc.Cookies + "<br>";
        list.Text += "支持的 MSHTML 的 DOM 版本:" + bc.MSDomVersion + "<br>";
        list.Text += "支持的 W3C 的 DOM 版本:" + bc.W3CDomVersion + "<br>";
        list.Text += "是否支持通过 HTTP 接收 XML:" + bc.SupportsXmlHttp + "<br>";
        list.Text += "是否支持框架:" + bc.Frames.ToString() + "<br>";
        list.Text += "超链接 a 属性 href 值的最大长度:" + bc.MaximumHrefLength + "<br>";
        list.Text += "是否支持表格:" + bc.Tables + "<br>";


if (!String.IsNullOrEmpty(Request["getInfo"]))
        {
            string info ="客户端IP:"+ Page.Request.UserHostAddress;
            info += "<br/>浏览器版本号:" + Request.Browser.Version;
            info += "<br/>用户信息:" + Page.User;
            info += "<br/>服务器电脑名称:" + Page.Server.MachineName;
            info += "<br/>当前用户电脑名称:" + System.Net.Dns.GetHostName();
            info += "<br/>当前电脑名:" + System.Environment.MachineName;
            info += "<br/>当前电脑所属网域:" + System.Environment.UserDomainName;
            info += "<br/>当前电脑用户:" + System.Environment.UserName;
            info += "<hr/>";
            info += "<br/>浏览器类型:"+Request.Browser.Browser;
            info += "<br/>浏览器标识:" + Request.Browser.Id;
       
            info += "<br/>浏览器是不是测试版本:"+Request.Browser.Beta;
            info += "<br/>浏览器的分辨率(像素):" + Request["width"].ToString() + "*" + Request["height"].ToString();//1280/1024
            info += "<hr/>";
            info += "<br/>客户端的操作系统:"+Request.Browser.Platform;
            info += "<br/>是不是win16系统:"+Request.Browser.Win16;
            info += "<br/>是不是win32系统:" +Request.Browser.Win32;
            Response.Write(info);
            Response.End();
        }


-----------------------------------------------------------------------------------------------------------------
语法  
Request.ServerVariables   (server   environment   variable)  
     
参数  
server   environment   variable    
指定要检索的服务器环境变量名    
功能  
server   environment   variable   表示要检索的服务器环境变量名,可以是下面的内容:  
   
ALL_HTTP   客户端发送的所有   HTTP   标题文件。    
ALL_RAW   检索未处理表格中所有的标题。ALL_RAW   和   ALL_HTTP   不同,ALL_HTTP   在标题文件名前面放置   HTTP_   prefix,并且标题名称总是大写的。使用   ALL_RAW   时,标题名称和值只在客户端发送时才出现。      
APPL_MD_PATH   检索   ISAPI   DLL   的   (WAM)   Application   的元数据库路径。    
APPL_PHYSICAL_PATH   检索与元数据库路径相应的物理路径。IIS   通过将   APPL_MD_PATH   转换为物理(目录)路径以返回值。    
AUTH_PASSWORD   该值输入到客户端的鉴定对话中。只有使用基本鉴定时,该变量才可用。      
AUTH_TYPE   这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。    
AUTH_USER   未被鉴定的用户名。      
CERT_COOKIE   客户端验证的唯一   ID,以字符串方式返回。可作为整个客户端验证的签字。    
CERT_FLAGS   如有客户端验证,则   bit0   为   1。  
如果客户端验证的验证人无效(不在服务器承认的   CA   列表中),bit1   被设置为   1。  
     
CERT_ISSUER   用户验证中的颁布者字段(O=MS,OU=IAS,CN=user   name,C=USA)。    
CERT_KEYSIZE   安全套接字层连接关键字的位数,如   128。    
CERT_SECRETKEYSIZE   服务器验证私人关键字的位数。如   1024。    
CERT_SERIALNUMBER   用户验证的序列号字段。    
CERT_SERVER_ISSUER   服务器验证的颁发者字段。    
CERT_SERVER_SUBJECT   服务器验证的主字段。    
CERT_SUBJECT   客户端验证的主字段。    
CONTENT_LENGTH   客户端发出内容的长度。      
CONTENT_TYPE   内容的数据类型。同附加信息的查询一起使用,如   HTTP   查询   GET、   POST   和   PUT。    
GATEWAY_INTERFACE   服务器使用的   CGI   规格的修订。格式为   CGI/revision。    
HTTP_<HeaderName>   HeaderName   存储在标题文件中的值。未列入该表的标题文件必须以   HTTP_   作为前缀,以使   ServerVariables   集合检索其值。  
注意   服务器将   HeaderName   中的下划线(_)解释为实际标题中的破折号。例如,如果您指定   HTTP_MY_HEADER,服务器将搜索以   MY-HEADER   为名发送的标题文件。    
     
HTTPS   如果请求穿过安全通道(SSL),则返回   ON。如果请求来自非安全通道,则返回   OFF。    
HTTPS_KEYSIZE   安全套接字层连接关键字的位数,如   128。    
HTTPS_SECRETKEYSIZE   服务器验证私人关键字的位数。如   1024。    
HTTPS_SERVER_ISSUER   服务器验证的颁发者字段。    
HTTPS_SERVER_SUBJECT   服务器验证的主字段。    
INSTANCE_ID   文本格式   IIS   实例的   ID。如果实例   ID   为   1,则以字符形式出现。使用该变量可以检索请求所属的(元数据库中)Web   服务器实例的   ID。    
INSTANCE_META_PATH   响应请求的   IIS   实例的元数据库路径。    
LOCAL_ADDR   返回接受请求的服务器地址。如果在绑定多个   IP   地址的多宿主机器上查找请求所使用的地址时,这条变量非常重要。    
LOGON_USER   用户登录   Windows   NT&reg;   的帐号。    
PATH_INFO   客户端提供的额外路径信息。可以使用这些虚拟路径和   PATH_INFO   服务器变量访问脚本。如果该信息来自   URL,在到达   CGI   脚本前就已经由服务器解码了。    
PATH_TRANSLATED   PATH_INFO   转换后的版本,该变量获取路径并进行必要的由虚拟至物理的映射。    
QUERY_STRING   查询   HTTP   请求中问号(?)后的信息。      
REMOTE_ADDR   发出请求的远程主机的   IP   地址。      
REMOTE_HOST   发出请求的主机名称。如果服务器无此信息,它将设置为空的   MOTE_ADDR   变量。    
REMOTE_USER   用户发送的未映射的用户名字符串。该名称是用户实际发送的名称,与服务器上验证过滤器修改过后的名称相对。    
REQUEST_METHOD   该方法用于提出请求。相当于用于   HTTP   的   GET、HEAD、POST   等等。    
SCRIPT_NAME   执行脚本的虚拟路径。用于自引用的   URL。    
SERVER_NAME   出现在自引用   UAL   中的服务器主机名、DNS   化名或   IP   地址。    
SERVER_PORT   发送请求的端口号。    
SERVER_PORT_SECURE   包含   0   或   1   的字符串。如果安全端口处理了请求,则为   1,否则为   0。    
SERVER_PROTOCOL   请求信息协议的名称和修订。格式为   protocol/revision   。    
SERVER_SOFTWARE   应答请求并运行网关的服务器软件的名称和版本。格式为   name/version   。    
URL     提供   URL   的基本部分

posted on 2009-09-11 11:39  hao_2468  阅读(144)  评论(0编辑  收藏  举报