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

StackOverflow https://stackoverflow.com/questions/1811658

質問

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

これを行う方法

asp.net c#に回答しますか

役に立ちましたか?

解決

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

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

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

他のヒント

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

ASP.NETの場合:

Request.ServerVariables [&quot; HTTP_USER_AGENT&quot;]

HTTPプロトコルは、 リクエストヘッダー の属性を提供します User-Agent と呼ばれ、クライアント(ここではWebブラウザー)がブラウザーのメーカー、バージョン、およびオペレーティングシステムを識別する文字列で埋めます。 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ヘッダーの場合、これは通常、「リクエスト」から取得されます。 (別の名前が付けられている場合があります)オブジェクトです。したがって、User-Agentへのアクセスは次のようになります。

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

または場合によっては

  ClientBrowser = HttpHeader.UserAgent

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

ClientBrowser = Request.ServerVariables("HTTP_USER_AGENT")

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top