我正在开发一个应用程序,如果用户不在我们的浏览器列表中,它会重定向用户以升级浏览器。
我的目标是创建一个异常,根据它们的 UserAgent
字符串检测它们是否是爬虫。
此时,我收到一条消息......“.ToLower 没有定义或扩展方法”
这是我的代码:
private bool IsValidCrawler(HttpRequestBase request)
{
bool isCrawler = true;
switch (request.Browser.Crawler.ToLower())
{
case "googlebot":
case "bingbot":
case "yahoo!":
case "facebookexternalhit":
case "facebookplatform":
break;
}
return isCrawler;
}
谁能指出我哪里出错了?
最佳答案
如果您查看 Crawler 属性 ( http://msdn.microsoft.com/en-us/library/system.web.configuration.httpcapabilitiesbase.crawler(v=vs.110).aspx) 的文档,您会注意到它是一个 bool 类型。
该属性本身会让您知道请求是否来自已知的爬虫。您可以暂时尝试以下方法。保留方法,这样您就不必更改太多。
private bool IsValidCrawler(HttpRequestBase request)
{
bool isCrawler = request.Browser.Crawler;
return isCrawler;
}
关于c# - 蜘蛛/机器人 UserAgent 检测 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19866814/