C# 从HTTP请求中提取内容,然后从中获取所选内容

C# 从HTTP请求中提取内容,然后从中获取所选内容,c#,httpwebrequest,C#,Httpwebrequest,出于学习目的,我正在玩页面请求和响应。我需要知道如何实现这一点。我想做的是从windows应用程序中发出HTTP请求,并从中提取一些内容。比如说 我正在呼叫http://stackoverflow.com/questions 现在,从回答中,我想提取中的所有问题节点,并对其进行格式化,然后将其显示在表中。有人能指导我怎么做吗。我在这里说,我也可以从正则表达式中进行格式化和提取,但我不确定如何进行 提前谢谢 Lura我建议使用-它将允许您直接获取页面并使用XPath进行查询,类似于XmlDocum

出于学习目的,我正在玩页面请求和响应。我需要知道如何实现这一点。我想做的是从windows应用程序中发出HTTP请求,并从中提取一些内容。比如说

我正在呼叫
http://stackoverflow.com/questions
现在,从回答中,我想提取
中的所有问题节点,并对其进行格式化,然后将其显示在表中。有人能指导我怎么做吗。我在这里说,我也可以从正则表达式中进行格式化和提取,但我不确定如何进行

提前谢谢
Lura

我建议使用-它将允许您直接获取页面并使用XPath进行查询,类似于XmlDocument的工作方式。

我建议使用-它将允许您直接获取页面并使用XPath进行查询,与XmlDocument的工作原理类似。

您可以使用HttpWebRequest获取页面的源内容,如下所示

string url = @"http://stackoverflow.com/users";

        System.Net.WebRequest request = System.Net.HttpWebRequest.Create(url);

        System.Net.HttpWebResponse  response = (System.Net.HttpWebResponse)request.GetResponse();
        System.IO.StreamReader stream = new System.IO.StreamReader
                (response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));

         XmlDocument rssDoc = new XmlDocument();
         rssDoc.Load(stream);

您可以使用HttpWebRequest获取页面的源内容,如下所示

string url = @"http://stackoverflow.com/users";

        System.Net.WebRequest request = System.Net.HttpWebRequest.Create(url);

        System.Net.HttpWebResponse  response = (System.Net.HttpWebResponse)request.GetResponse();
        System.IO.StreamReader stream = new System.IO.StreamReader
                (response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));

         XmlDocument rssDoc = new XmlDocument();
         rssDoc.Load(stream);

如果页面内容实际上不是UTF-8格式,则此操作将失败;一个健壮的实现需要检查
内容类型
HTTP头或正文中的
标记,或者从文档本身自动检测。如果html不是格式良好的xml,则会更加失败。如果页面内容实际上不是UTF-8,则会失败;一个健壮的实现需要检查
内容类型
HTTP头或正文中的
标记,或者从文档本身进行自动检测。如果html不是格式良好的xml,则会更加失败。