首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将WebResponse.GetResponseStream返回值转换为字符串?

如何将WebResponse.GetResponseStream返回值转换为字符串?
EN

Stack Overflow用户
提问于 2011-09-25 10:44:43
回答 5查看 134.2K关注 0票数 80

我见过很多例子,但它们都是缓慢地一次将它们读入字节数组或256个字符。为什么?

仅仅将得到的Stream值转换成我可以解析它的字符串是不是不可取?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-25 10:49:05

您应该围绕流创建一个StreamReader,然后调用ReadToEnd

您应该考虑改为调用WebClient.DownloadString

票数 58
EN

Stack Overflow用户

发布于 2011-09-25 10:53:14

您可以使用StreamReader.ReadToEnd()

代码语言:javascript
复制
using (Stream stream = response.GetResponseStream())
{
   StreamReader reader = new StreamReader(stream, Encoding.UTF8);
   String responseString = reader.ReadToEnd();
}
票数 143
EN

Stack Overflow用户

发布于 2015-10-09 23:22:45

正如@Heinzi提到的,应该使用响应的字符集。

代码语言:javascript
复制
var encoding = response.CharacterSet == ""
    ? Encoding.UTF8
    : Encoding.GetEncoding(response.CharacterSet);

using (var stream = response.GetResponseStream())
{
    var reader = new StreamReader(stream, encoding);
    var responseString = reader.ReadToEnd();
}
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7543324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档