天天看點

擷取用戶端的資訊

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   的基本部分

轉載于:https://www.cnblogs.com/n666/archive/2009/09/11/2191152.html