10

これが私のコードです:

    User_Info.Add(!string.IsNullOrEmpty(Request.UserAgent) ? Request.UserAgent : string.Empty);//4:UserAgent

    HttpBrowserCapabilities browser = Request.Browser;
    User_Info.Add(!string.IsNullOrEmpty(browser.Browser) ?  "Name : " + browser.Browser + " | " +
                                                            "Type : " + browser.Type + " | " +
                                                            "MajorVersion  : " + browser.MajorVersion + " | " +
                                                            "MinorVersion  : " + browser.MinorVersion : string.Empty);//5:UserBrowser

Request.UserAgentとRequest.Browserの違いは何ですか?
私はそれらのUserAgent文字列を理解できませんでした!
説明付きの例をいくつか示していただけますか?

4

3 に答える 3

14

UserAgentは、ブラウザに関する生の文字列を提供します。次のようになります。

ユーザーエージェント::Mozilla/ 4.0(互換性、MSIE 6.0b、Windows NT 5.1、.NET CLR 1.0.2914)

Request.Browserは、ブラウザの機能に関するいくつかの追加情報とともにブラウザのバージョン情報を含むHttpBrowserCapabilitiesオブジェクトを提供します。例えば:

  1. ブラウザがフレームをサポートしているかどうか
  2. クッキーをサポートしている場合は?
  3. JavaScriptをサポートしますか?
  4. Javaアプレットをサポートしますか?等

次のサンプルコードを見てください。

HttpBrowserCapabilities bc = Request.Browser;
Response.Write("<p>Browser Capabilities:</p>");
Response.Write("Type = " + bc.Type + "<br>");
Response.Write("Name = " + bc.Browser + "<br>");
Response.Write("Version = " + bc.Version + "<br>");
Response.Write("Major Version = " + bc.MajorVersion + "<br>");
Response.Write("Minor Version = " + bc.MinorVersion + "<br>");
Response.Write("Platform = " + bc.Platform + "<br>");
Response.Write("Is Beta = " + bc.Beta + "<br>");
Response.Write("Is Crawler = " + bc.Crawler + "<br>");
Response.Write("Is AOL = " + bc.AOL + "<br>");
Response.Write("Is Win16 = " + bc.Win16 + "<br>");
Response.Write("Is Win32 = " + bc.Win32 + "<br>");
Response.Write("Supports Frames = " + bc.Frames + "<br>");
Response.Write("Supports Tables = " + bc.Tables + "<br>");
Response.Write("Supports Cookies = " + bc.Cookies + "<br>");
Response.Write("Supports VB Script = " + bc.VBScript + "<br>");
Response.Write("Supports JavaScript = " + bc.JavaScript + "<br>");
Response.Write("Supports Java Applets = " + bc.JavaApplets + "<br>");
Response.Write("Supports ActiveX Controls = " + bc.ActiveXControls + "<br>");
Response.Write("CDF = " + bc.CDF + "<br>");

ブラウザのバージョンをユーザーエージェントと比較するには、文字列操作(Contains)を使用する必要がありRequest.Browserますが、プロパティと比較できる場合は。

于 2012-05-28T07:42:38.080 に答える
8

Request.BrowserはRequest.UserAgentとは異なります。UserAgentはクライアントブラウザの生のユーザーエージェント文字列を取得し、Request.Browserはブラウザの機能に関する情報を取得します。UserAgent文字列ですべてのブラウザ機能を取得することはできません。

于 2012-05-28T06:53:09.617 に答える
1

Request.UserAgentは少しわかりにくいため、どのブラウザ、具体的には訪問者が使用しているかを判断するために解析する必要があります。さらに、ブラウザがサポートしているJavaScriptのバージョンや、ブラウザがCSS2.0スタイルシートをサポートしているかどうかなどの情報は含まれていません。

Request.Browserプロパティは、HttpBrowserCapabilitiesオブジェクトのインスタンスであり、すべての情報を提供します...

参照:http ://www.4guysfromrolla.com/articles/120402-1.aspx

于 2012-05-28T07:05:10.420 に答える