19

HTTPリクエストがブラウザからのものかWebサービスのようなものからのものかを判断するにはどうすればよいですか?

ユーザーエージェントがあることは知っていますが、これは主にWebブラウザ用のようです。たとえば、リクエストがグーグルマップまたはユーチューブから来たことを私は知っています。リクエストはテザーデバイスから送信されます。

彼らが異なるユーザーエージェントを持っている場合、私は例を得ることができますか?

ありがとう。

4

2 に答える 2

16

リクエストがブラウザからのものか、HTTPリクエストを行う他の何かからのものかを確実に知る方法は絶対にありません。

HTTPプロトコルを使用すると、クライアントはユーザーエージェントを任意に設定できます。

たとえばJavaScriptを実行して結果を測定することにより、もう一方の端にあるものがブラウザであるかどうかを判断することができます。ただし、一部のボットはJavaScriptを実行でき、すべてのブラウザーがJavaScriptを実行するわけではないため、テストの種類が完全になることはありません。

正常に動作する「ボット」(一般的な検索エンジンスパイダーなど)は、それらに固有のユーザーエージェントを使用して自分自身を識別します。ここにユーザーエージェントのかなり包括的なリストがあります:

http://www.user-agents.org/

http://www.botsvsbrowsers.com/

于 2012-04-05T19:26:45.970 に答える
0

確実に知ることはできませんが、User-Agentヘッダーを解析して、それが何であるかを知ることはできます。

ここにそれらのいくつかのリストがあります。私はその包括的なものを疑っていますが、あなたはアイデアを得る必要があります: http ://www.zytrax.com/tech/web/browser_ids.htm

于 2012-04-05T19:28:57.240 に答える