0

有没有办法确定对 ASP.Net 应用程序的 http 请求是从浏览器还是从机器人/爬虫发出的?我需要区分这两种请求。

谢谢!

4

3 回答 3

4

不,没有。没有万无一失的证据可以确定请求的来源——所有 HTTP 标头都可以被欺骗。

一些爬虫(GoogleBot 等)会为自己做广告,但这并不意味着浏览者不能伪装成 GoogleBot。

最好的策略是寻找众所周知的机器人(通过User-Agent标头,可能通过已知的 IP 地址)并假设它们是爬虫。

于 2013-01-11T15:20:37.873 回答
1

看看Request.Browser.Crawler,但这仅适用于某些爬虫。

于 2013-01-11T15:45:25.140 回答
1

嗯...如果机器人想被识别为机器人,是的。因为他可以很容易地模拟出他是一个网络浏览器。

Personnaly,我将使用此列表开始:http ://www.robotstxt.org/db.html

于 2013-01-11T15:21:15.260 回答