c# - 如何使用 C# 和 ASP.net 代理 WebRequest?

标签 c# .net webrequest

差不多...我想做这样的事情:

Stream Answer = WebResp.GetResponseStream();
Response.OutputStream = Answer;

这可能吗?

最佳答案

不,但您当然可以同步或异步复制数据。

  • 分配一个缓冲区(大约 4kb 大小)
  • 执行读取操作,返回读取的字节数,如果已到达流的末尾则返回 0
  • 如果接收到数据,写入读取的数量并循环到读取

像这样:

using (Stream answer = webResp.GetResponseStream()) {
    byte[] buffer = new byte[4096];
    for (int read = answer.Read(buffer, 0, buffer.Length); read > 0; read = answer.Read(buffer, 0, buffer.Length)) {
        Response.OutputStream.Write(buffer, 0, read);
    }
}

关于c# - 如何使用 C# 和 ASP.net 代理 WebRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790750/

相关文章:

c# - 设置AllowAutoRedirect = false仍然遵循重定向

javascript - 在 createObjectURL url 匹配上使用 browser.webRequest

silverlight 接受无效证书

c# - WebException.Response.GetResponseStream() 限制为 65536 个字符

c# - 使用 StructureMap 注入(inject)连接字符串不起作用

c# - 如何在C#中从函数中的while循环访问变量到函数外部?

c# - 当从 native win32 应用程序调用 C# COM 程序集时,如何调试它?

c# - ${basedir} 位于何处,使用 NLog?

.NET 构造的 Java 等价物

c# - Entity Framework 生成的类的正确使用(数据库优先方法)