从 4.0 迁移到 4.5 .NET Framework 时,一些爬虫似乎没有在 ASP.NET 应用程序中被捕获。
我在 App_Browsers 目录中有一个 .browser 文件,其中包含以下定义:
<browser id="Baiduspider" parentID="Default">
<sampleHeaders>
<header name="Connection" value="close"/>
<header name="Accept" value="*/*"/>
<header name="Accept-Encoding" value="gzip"/>
<header name="Accept-Language" value="zh-cn,zh-tw"/>
<header name="Host" value="www.example.com"/>
<header name="User-Agent" value="Baiduspider+(+http://www.baidu.com/search/spider.html)"/>
</sampleHeaders>
<identification>
<userAgent match="Baiduspider"/>
</identification>
<capabilities>
<capability name="crawler" value="true"/>
<capability name="browser" value="Baidu.com"/>
<capability name="majorversion" value="0"/>
<capability name="minorversion" value=".0"/>
<capability name="version" value="0.0"/>
</capabilities>
</browser>
但是线
Request.Browser.Crawler
返回
false
百度用户代理:
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
我怀疑百度没有很好地形成他的用户代理字符串,因为括号,但这在 4.0 .NET Framework 中工作。
谁能帮我?
提前致谢!