C# 如何从robots.txt文件中读取站点地图url文本

C# 如何从robots.txt文件中读取站点地图url文本,c#,asp.net,if-statement,robots.txt,sitemap.xml,C#,Asp.net,If Statement,Robots.txt,Sitemap.xml,我想读取robots.txt文件(www.abcd.com/robots.txt)的文本,其中包含我的C#应用程序中的站点地图url。我必须使用if-else生成警报,如果robots.txt文件中存在站点地图url,那么它将显示yes,并且不包含站点地图url,那么它将显示no Robots.txt文件文本如下所示: # Crawlers Setup User-agent: * Disallow: Crawl-delay: 10 # Website Sitemap Sitemap: http

我想读取robots.txt文件(www.abcd.com/robots.txt)的文本,其中包含我的C#应用程序中的站点地图url。我必须使用if-else生成警报,如果robots.txt文件中存在站点地图url,那么它将显示yes,并且不包含站点地图url,那么它将显示no

Robots.txt文件文本如下所示:

# Crawlers Setup
User-agent: *
Disallow:
Crawl-delay: 10

# Website Sitemap
Sitemap: http://www.abcd.com/sitemap.xml
string contentOfRobotTxt= new WebClient().DownloadString("http://www.abcd.com/robots.txt");

如何从robots.txt文件中读取此站点地图文本,因为robots.txt也是一个链接,而不是一个文本文件。它是www.abcd.com/robots.txt

您只需读取文件,如下所示:

# Crawlers Setup
User-agent: *
Disallow:
Crawl-delay: 10

# Website Sitemap
Sitemap: http://www.abcd.com/sitemap.xml
string contentOfRobotTxt= new WebClient().DownloadString("http://www.abcd.com/robots.txt");

您可以使用类似的库(免责声明:此处为项目所有者)。例如:

string contentsOfRobotsTxtFile = new WebClient().DownloadString("uri");
Robots robots = Robots.Load(content);
var sitemaps = robots.Sitemaps;

它也可以在Nuget上使用

Robot.txt将加载到RobotText的字符串对象ContentOfRobotText中。您需要用一个简单的字符串搜索来处理这个问题。是否可以只获取不允许的规则?