0

リクエスト元の入力デバイスの詳細を取得しようとしています。

httpservlet リクエスト オブジェクトを使用してこれが可能かどうかを教えてください。

4

3 に答える 3

1

HTTP ヘッダーUSER-AGENTヘッダーを見てください

この行が存在する場合、元のクライアントが使用したソフトウェア プログラムが示されます。これは、統計目的とプロトコル違反の追跡のためです。含める必要があります。最初の空白で区切られた単語は、オプションのスラッシュとバージョン指定子を含むソフトウェア製品名でなければなりません。ユーザー エージェントの一部を形成する他の製品は、別の言葉として配置される場合があります。

  <field>   =   User-Agent: <product>+
    <product> =   <word> [/<version>]
    <version> =   <word>

例:

           User-Agent:  LII-Cello/1.0  libwww/2.5

それらを取得するには

Header[] allHeaders = req.getAllHeaders();

各ヘッダー オブジェクトには名前と値が含まれます。

于 2013-09-17T10:47:55.047 に答える
1

User-agent ヘッダーは、得られる最高のものです。ただし、このヘッダーを「福音の真実」として扱うべきではありません。さまざまな理由で、日常的に偽装されています。(実際、ユーザーがこれを行うのを支援するために特別に設計された Web ブラウザーのプラグイン/アドオンがあります!)

ユーザー エージェント文字列のブラウザーとオペレーティング システムへのマッピングは、ヒューリスティックなプロセスです。それを行うには、既存の Java ライブラリを探すのが最善です。

于 2013-09-17T11:07:11.540 に答える