adr*_*rin 38 .net c# webclient
有没有一种快速方法来解压缩使用WebClient.DownloadString()方法下载的gzip响应?您对如何使用WebClient处理gzip响应有任何建议吗?
Bro*_*ass 72
要做到这一点,最简单的方法是使用内置的自动减压与HttpWebRequest
类.
var request = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com");
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
Run Code Online (Sandbox Code Playgroud)
要做到这一点,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;
}
}
Run Code Online (Sandbox Code Playgroud)
另请参阅此SO线程:.NET的HttpWebResponse是否会自动解压缩GZiped和Deflated响应?
归档时间: |
|
查看次数: |
15681 次 |
最近记录: |