2

ウェブサイトは、どのブラウザにアクセスしているかをどのように知るのですか

どうすればこれを行うことができますか

asp.net c#の答えを教えてください

4

3 に答える 3

10

リクエストで渡されたユーザー エージェントを探します。

ASP.NET の場合:

Request.ServerVariables["HTTP_USER_AGENT"]

于 2009-11-28T05:20:08.433 に答える
4

ブラウザは、各 HTTP リクエストに含まれる User-Agent 文字列で、ブラウザの種類をサーバーに伝えます。

User-Agent に直接アクセスして自分で解析するか、複数の *.browser ファイル、正規表現などに依存する ASP.NET の組み込みブラウザー機能を使用できます。

User-Agent: <%= Request.UserAgent %>
ID: <%= Request.Browser.Id %>
Browser: <%= Request.Browser.Browser %>
Type: <%= Request.Browser.Capabilities["type"] %>
于 2009-11-28T05:39:04.510 に答える
3

HTTP プロトコルは、クライアント (ここでは Web ブラウザー) がブラウザーのメーカー、バージョン、およびオペレーティング システムを識別する文字列を入力するUser-Agentと呼ばれる要求ヘッダーの属性を提供します。HTTP ヘッダーのすべての要素と同様に、この情報はさまざまな目的で (たとえば、さまざまなクライアント側のプライバシー ゲートウェイなどによって) 「なりすまし」または変更される可能性がありますが、通常は比較的信頼性があります。

このような User-Agent 文字列の例は次のとおりです (ここでは、Windows XP で実行されている FireFox ブラウザー バージョン 3.5 の場合)。

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5

この情報は、ヘッダーの他の属性とともに、受信側アプリケーションで照会できます。詳細は言語/フレームワークごとに異なりますが、これらの言語/フレームワークの多くは、HTTP プロトコルに関連付けられたさまざまなオブジェクトを反映した単純なオブジェクト モデルを公開します。http ヘッダーの場合、これは通常、"Request" (名前が異なる場合があります) オブジェクトから取得されるため、User-Agent へのアクセスは次のようになります。

  ClientBrowser = Request.Header("User-Agent")

またはおそらく

  ClientBrowser = HttpHeader.UserAgent

編集C#/ ASP.NETの場合(質問の後期編集):

ClientBrowser = Request.ServerVariables("HTTP_USER_AGENT")

また、この情報を直接使用したくなるかもしれませんが、[非常に多くのバージョンの] User-Agent 文字列の解析の詳細をカプセル化したさまざまなライブラリに依存して、特定の Web ブラウザや特定のフォームさえ把握することもできます。 JavaScript のようなクライアントを送信する必要があります。

于 2009-11-28T05:38:23.193 に答える