解压缩来自 WebClient 的 gzip 响应

发布于 2024-10-10 06:30:36 字数 99 浏览 2 评论 0原文

有没有一种快速的方法来解压缩使用 WebClient.DownloadString() 方法下载的 gzip 响应?您对如何使用 WebClient 处理 gzip 响应有什么建议吗?

Is there a quick way to uncompress gzip response downloaded with WebClient.DownloadString() method? Do you have any suggestions on how to handle gzip responses with WebClient?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不知在何时 2024-10-17 06:30:36

最简单的方法是使用内置的 自动使用HttpWebRequest类解压

var request = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com");
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

要使用 WebClient 执行此操作,您必须创建自己的从 WebClient 派生的类并重写 GetWebRequest() 方法。

public class GZipWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
        return request;
    }
}

另请参阅此线程: Does .NET's HttpWebResponse 自动解压缩 GZiped 和反应平淡?

The easiest way to do this is to use the built in automatic decompression with the HttpWebRequest class.

var request = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com");
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

To do this with a WebClient you have to make your own class derived from WebClient and override the GetWebRequest() method.

public class GZipWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
        return request;
    }
}

Also see this SO thread: Does .NET's HttpWebResponse uncompress automatically GZiped and Deflated responses?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文