我编写了一个客户端应用程序,假设从Web服务器下载文件,非常简单:
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile("http://localhost/audiotest/audio.wav",
@"C:\audio.wav");
}
网站(音频文件位于http://localhost/audiotest/audio.wav)的标题为Transfer-Encoding:chunked
当我运行程序时,出现以下错误:
服务器提交了协议违规。第= ResponseBody Detail =响应块格式无效
如果服务器包含Transfer-Encoding:chunked header?
,如何下载文件答案 0 :(得分:4)
我还没试过,但这可能有用:
如果您强行发送Http 1.0而不是Http 1.1的请求,那么服务器将回复 HTTP标头指定Content-Length
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create("http://localhost/audiotest/audio.wav");
wr.ProtocolVersion = Version.Parse("1.0");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
您将在response.GetResponseStream()
归功于this
的作者