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

Dav*_*och 2 .net c# webrequest

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

Stream Answer = WebResp.GetResponseStream();
Response.OutputStream = Answer;
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Luc*_*ero 5

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

  • 分配一个缓冲区(大小约为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);
    }
}
Run Code Online (Sandbox Code Playgroud)