【发布时间】:2010-10-15 06:43:18
【问题描述】:
我正在尝试做一个接受压缩响应的请求
var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
我想知道当我添加第二行时,我是否必须手动处理解压。
【问题讨论】:
-
我猜 Rick Strahl 一定是错的。你自己试过吗?
-
谢谢 - 只是想理解一些事情,你能告诉我这是否正确吗? (a)如果您不添加此“AcceptEncoding”行,那么 - 如果您下载非压缩文件 => 工作正常 - 如果您下载压缩文件 => ISSUE(将下载文件但看起来会损坏,因为不是未压缩)(b)如果您添加此“AcceptEncoding”行,则: - 如果您下载非压缩文件 => 仍然可以正常工作 - 如果您下载压缩文件 => 可以正常工作(将未压缩)这是对的吗?
-
@Greg 没有任何选项。第二行不是关于下载可能已经压缩的文件(即 zip 文件),而是关于下载可能按需压缩的 Web 资源(即 html 文件)。如果你不放第二行,一个表现良好的 Web 服务器根本不会向你发送压缩文件。如果 web 服务器有能力压缩文件,它只会在你放第二行的时候做。
-
也为这个问题投票:)
标签: c# .net httpwebrequest gzip deflate