2


0

ウェブサイトはどのブラウザがアクセスしているかをどのように見つけますか

ウェブサイトはどのブラウザがアクセスしているかをどのように見つけますか

どうすればこれができますか

asp.net c#に答えますか?

3 Answer


10


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

ASP.NETの場合:

Request.ServerVariables [" HTTP_USER_AGENT "]


4


ブラウザは、サーバーにUser-Agent文字列に含まれるブラウザの種類を伝えます。これは、各HTTP要求に含まれます。

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

User-Agent: <%= Request.UserAgent %>
ID: <%= Request.Browser.Id %>
Browser: <%= Request.Browser.Browser %>
Type: <%= Request.Browser.Capabilities["type"] %>


3


HTTPプロトコルはhttp://en.wikipedia.org/wiki/List_of_HTTP_headers[request header *]の属性を提供します。これは、クライアント(ここでは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")

また、この情報を直接使用したいと思うかもしれませんが、特定のWebブラウザーや、さらには[非常に多くのバージョン] User-Agent *ストリングを解析する詳細をカプセル化するさまざまなライブラリに依存することもありますこのようなクライアントのjavascriptの特定の形式を送信する必要があります。