HttpBrowserCapabilities.Crawler 属性 ( http://msdn.microsoft.com/en-us/library/aa332775(VS.71).aspx ) 如何工作?我需要检测合作伙伴的自定义爬虫,并且此属性返回 false。
我在哪里/如何添加他的用户代理以便此属性返回 true?除了创建我自己的用户代理检测机制之外还有其他方法吗?
HttpBrowserCapabilities.Crawler 属性 ( http://msdn.microsoft.com/en-us/library/aa332775(VS.71).aspx ) 如何工作?我需要检测合作伙伴的自定义爬虫,并且此属性返回 false。
我在哪里/如何添加他的用户代理以便此属性返回 true?除了创建我自己的用户代理检测机制之外还有其他方法吗?
这一切都由 .NET 框架中的默认 browsercaps 声明驱动。
要设置此特定爬虫,您需要将自定义 browserCaps 部分添加到 web.config 以将其标识为爬虫。
关于如何解决这个问题的 MSDN 文档非常有据可查,这里是一个链接。
HttpBrowserCapabilities 由 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers 中的一组 *.browser 文件填充。您可以在 ~/App_Browsers/ 中添加您自己的文件,其中包含自定义爬虫的详细信息。架构在这里。基本上,它包含一个正则表达式来匹配 User-Agent 标头和一组属性值。