【问题标题】:Enabling compression with WebClient使用 WebClient 启用压缩
【发布时间】:2012-07-26 15:33:25
【问题描述】:

我正在使用 System.Net.WebClient.DownloadFile 从公共 Web 服务器下载大量 html 文件。我想启用压缩,因为这可能会大大减少数据传输。我在previous question 中被告知我应该设置“Accept-Encoding: gzip, deflate” 标头。 WebClient 有一个 Headers 属性允许这样做。

我对此有几个问题:

  1. 假设 Web 服务器识别标题,这是否适用于 DownloadFile 方法,还是仅使用 DownloadData 方法?一世 在 MSDN 或其他网站上找不到任何相关信息。
  2. 如果它不适用于 DownloadFile,最简单的方法是什么 实现将压缩数据下载到文件?
  3. 是否需要为服务器设置任何其他标头才能压缩其 数据?在旧的codinghorror.com 条目中,杰夫阿特伍德说 “UserAgent”标头也需要设置,但我不知道是什么 值应该是。

【问题讨论】:

标签: c# .net http http-headers


【解决方案1】:
  1. DownloadFile 只是原始 WebRequest 的包装器;它只是处理结果并将其打包为“文件”或字节数组。
  2. 有效;但是发送到本地文件的数据仍然是压缩的,你必须手动解压。

  3. 您将获得一个默认用户代理。不需要任何特定的 UserAgent 值,除非您访问的站点需要一个。但是,您必须找出答案。 (Jeff 的帖子建议 Google 需要一个;但我不知道这是否仍然正确)

【讨论】:

    猜你喜欢
    • 2020-06-22
    • 2012-09-21
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2021-07-31
    • 1970-01-01
    相关资源
    最近更新 更多