edd*_*yuk 7 c# chunked-encoding
我写了一个客户端应用程序,假设从Web服务器下载文件,非常简单:
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile("http://localhost/audiotest/audio.wav",
@"C:\audio.wav");
}
Run Code Online (Sandbox Code Playgroud)
该网站(音频文件位于:http://localhost/audiotest/audio.wav)具有标题Transfer-Encoding:chunked
当我运行该程序时,我收到以下错误:
服务器提交了协议违规.Section = ResponseBody Detail =响应块格式无效
当服务器包含Transfer-Encoding:chunked header时,如何下载文件?
我还没有尝试过,但这可能有效:
如果您强制发送 Http 1.0 而不是 Http 1.1 的请求,则服务器将使用指定 Content-Length 的 HTTP 标头进行回复
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://localhost/audiotest/audio.wav");
wr.ProtocolVersion = Version.Parse("1.0");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
您将获得文件作为流response.GetResponseStream()
一切归功于本文作者