从WebClient解压缩gzip响应

从WebClient解压缩gzip响应,第1张

从WebClient解压缩gzip响应

最简单的方法是对该类使用内置的自动解压缩功能

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;    }}

另请参见此SO线程:.NET的HttpWebResponse是否自动解压缩GZiped和Deflated响应?



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5101687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存