你怎么能只读取HttpWebResponse的一部分

时间:2013-03-12 01:50:29

标签: c# .net httpwebrequest httpwebresponse system.net

我想只阅读HttpWebResponse的一部分。让我们说第一个100k。我怎样才能只读取响应的前100k,但仍然会得到一个未损坏的子串?如果我把第一个100k扔到一个字节[]中,我相信我最终可能会损坏数据。

        HttpWebRequest request = HttpWebRequest.Create("http://www.yahoo.com") as HttpWebRequest;

        HttpWebResponse response = request.GetResponse() as HttpWebResponse;

        using (Stream responseStream = response.GetResponseStream())
        {
            using (StreamReader sr = new StreamReader(responseStream))
            {
                string content = sr.ReadToEnd();
            }
        }

1 个答案:

答案 0 :(得分:0)

通过将字符长度限制为大小,您不能指望获得未损坏的子字符串。

更好的方法是按字符(ReadReadBlockReadLine进行阅读,直到您满意为止。