C# 如何在C语言中只接收HTTP web响应的一部分#

C# 如何在C语言中只接收HTTP web响应的一部分#,c#,stream,httpwebrequest,readline,httpwebresponse,C#,Stream,Httpwebrequest,Readline,Httpwebresponse,我想知道在C#中是否有一种方法可以获取和读取HTTP web响应,但仅限于某一点。例如: public static void Example() { HttpWebRequest request = (HttpWebRequest)WebRequest.CreateHttp("http://www.example.com/"); using(HttpWebResponse response = (HttpWebResponse)request.GetResponse())

我想知道在C#中是否有一种方法可以获取和读取HTTP web响应,但仅限于某一点。例如:

public static void Example()
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.CreateHttp("http://www.example.com/");

    using(HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    {
        using(Stream responseStream = response.GetResponseStream())
        {
            using(StreamReader responseReader = new StreamReader(responseStream, System.Text.Encoding.UTF8))
            {
                string line;
                while((line = responseReader.ReadLine()) != null)
                {
                    if(line.Contains("stop!"))
                    {
                        break;
                    }
                }
            }
        }
    }
}

这将阻止流读取,但响应仍然是整个页面,而不是找到“停止!”的地方。

为什么/10chars等…您必须编写一个自定义浏览器,只发送到“停止”。任何标准浏览器都将发送整个请求。但是,您可以选择在任何时候停止读取流,如您的示例中所示。因此,如果页面包含许多字节的信息,我不必在找到所需内容后浪费时间和带宽来读取。将您的Web服务上载到Azure。它不会为你的网络应用程序抓取网站收费。Azure只对下载的数据收费。您甚至不存储请求的行。您如何断定您仍在下载整个响应?”在我看来,你问题中的回答是“流”,而不是“页面”。