我编写了一个客户端应用程序,该应用程序假设是要从Web服务器下载文件的,非常简单:
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile("http://localhost/audiotest/audio.wav",
@"C:\audio.wav");
}
该网站(音频文件位于:http://localhost/audiotest/audio.wav)具有标题Transfer-Encoding:chunked
运行程序时,出现以下错误:
服务器包含Transfer-Encoding:块头时,如何下载文件?
最佳答案
我还没有尝试过,但这可能行得通:
如果您强制发送对Http 1.0而不是Http 1.1的请求,则服务器将回复
HTTP header ,指定内容长度
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://localhost/audiotest/audio.wav");
wr.ProtocolVersion = Version.Parse("1.0");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
您将以
response.GetResponseStream()
的流形式获取文件全部归功于this的作者
关于c# - C#使用WebClient下载分块的编码内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10006669/