.net - 阅读 GetResponseStream() 的最佳方式是什么?

标签 .net http stream getresponsestream

从 GetResponseStream 读取 HTTP 响应的最佳方式是什么?

目前我正在使用以下方法。

Using SReader As StreamReader = New StreamReader(HttpRes.GetResponseStream)
   SourceCode = SReader.ReadToEnd()
End Using

我不太确定这是否是读取 HTTP 响应的最有效方式。

我需要字符串形式的输出,我看到了 article用不同的方法,但我不太确定它是否是一个好方法。在我的测试中,代码在不同网站上存在一些编码问题。

您如何阅读网络回复?

最佳答案

我对字符串执行此操作的简单方法。请注意 StreamReader 构造函数中的第二个参数 true。这告诉它从字节顺序标记中检测编码,并且可能有助于解决您遇到的编码问题。

string target = string.Empty;
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=583");

HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse();
try
{
  StreamReader streamReader = new StreamReader(response.GetResponseStream(),true);                
  try
  {
    target = streamReader.ReadToEnd();
  }
  finally
  {
    streamReader.Close();
  }
}
finally
{
  response.Close();
}

关于.net - 阅读 GetResponseStream() 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/137285/

相关文章:

c# - 如何将锯齿状数组绑定(bind)到 DataGridView 中?

需要 .NET 程序集合并工具

http - 是否有用于与客户端交换 JWT 的标准 HTTP header 服务器?

android - 如何从 Android 中的 URL 获取数据?

c# - 如何记录 asp.net 应用程序的用户操作?

linux - 将所有传出的 http 请求路由到某种代理服务器

parallel-processing - 在 Apache Storm 中每个集群节点配置多个 worker 的原因是什么?

c++ - istream::peek 奇怪的行为。结束符

c# - 通过我的服务器将文件从远程服务器复制到客户端浏览器,而不将整个文件写入磁盘或内存

c# - 在 C# 中将字符串转换为 float