我看到很多例子,但是他们都慢慢地将它们一次读入字节数组或256个字符。为什么呢?
不建议将生成的Stream
值转换为可以解析它的字符串吗?
答案 0 :(得分:131)
您可以使用StreamReader.ReadToEnd()
,
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
String responseString = reader.ReadToEnd();
}
答案 1 :(得分:59)
您应该在流周围创建StreamReader
,然后调用ReadToEnd
。
您应该考虑改为调用WebClient.DownloadString
。
答案 2 :(得分:4)
理查德施耐德是对的。 使用下面的代码从站点获取数据,这不是utf8 charset会得到错误的字符串。
true
” 我不能投票。所以写了这个。
答案 3 :(得分:2)
您可以在信息流周围创建StreamReader
,然后拨打StreamReader.ReadToEnd()
。
StreamReader responseReader = new StreamReader(request.GetResponse().GetResponseStream());
var responseData = responseReader.ReadToEnd();