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® 的帳号。
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