我正在编写自己的C#4.0 WPF特定网络爬虫。目前我正在使用htmlagilitypack处理HTML文档。检查URL是否为text/html或其他文件类型,如图像
现在下面我下载
HtmlWeb hwWeb = new HtmlWeb();
hwWeb.UserAgent = lstAgents[GenerateRandomValue.GenerateRandomValueMin(irAgentsCount, 0)];
hwWeb.PreRequest = OnPreRequest;
HtmlDocument hdMyDoc;
hwWeb = new HtmlWeb
{
AutoDetectEncoding = false,
OverrideEncoding = Encoding.GetEncoding("iso-8859-9"),
};
hdMyDoc = hwWeb.Load(srPageUrl);
private static bool OnPreRequest(HttpWebRequest request)
{
request.AllowAutoRedirect = true;
return true;
}
页现在我的问题的方式是我希望能够确定给定的URL是否为text/html(抓取的内容)或图像/ PDF只是其他类型。我怎样才能做到这一点 ?
非常感谢您的回答。
C#4.0中,WPF应用程序
+1。考虑首先使用HEAD请求,而不是GET。它会给你内容类型(如果服务器支持)。 – 2012-02-03 02:35:12
这就是我要求的。如何获取头部请求的内容类型?我仍然可以用htmlagilitypack下载内容。 – MonsterMMORPG 2012-02-03 03:27:55
@MonsterMMORPG - 我从来没有直接使用HtmlAgilityPack(虽然基于API,我知道你可以通过一些Html来处理)。正如其他人所说,这似乎不可能直接与HtmlAgilityPack。使用'HtmlWebRequest'和'HtmlWebResponse',你可以使用内建的'ContentType'属性来获得内容类型。 – 2012-02-03 03:31:15