ASP.Netアプリケーションへのhttpリクエストがブラウザから行われたのか、ロボット/クローラーから行われたのかを判断する方法はありますか?この2種類のリクエストを区別する必要があります。
ありがとう!
ASP.Netアプリケーションへのhttpリクエストがブラウザから行われたのか、ロボット/クローラーから行われたのかを判断する方法はありますか?この2種類のリクエストを区別する必要があります。
ありがとう!
いいえ、ありません。リクエストの発信元を特定する絶対確実な方法はありません。すべての HTTP ヘッダーはスプーフィングされる可能性があります。
一部のクローラー (GoogleBot など) は自分自身を宣伝しますが、閲覧者が GoogleBot になりすますことができないわけではありません。
User-Agent
よく知られているボットを (ヘッダーによって、場合によっては既知の IP アドレスによって)探し、それらがクローラーであると想定するのが最善の戦略です。
ええと... ロボットがロボットとして認識されることを望むなら、はい。彼は簡単に自分が Web ブラウザであることをシミュレートできるからです。
個人的には、このリストを使用して開始します: http://www.robotstxt.org/db.html
Request.Browser.Crawlerを見てください。ただし、これは一部のクローラーでのみ機能します。