method headers examples ejemplos downloaddata dotnetperls c# .net webclient

c# - headers - Descomprimir la respuesta de gzip de WebClient



webclient examples c# (1)

La forma más fácil de hacerlo es usar la descompresión automática incorporada con la clase HttpWebRequest .

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

Para hacer esto con un WebClient , debe crear su propia clase derivada de WebClient y anular el método 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; } }

También vea este hilo SO: ¿HttpWebResponse de .NET descomprime automáticamente las respuestas GZiped y Deflated?

¿Hay alguna manera rápida de descomprimir la respuesta de gzip descargada con el método WebClient.DownloadString ()? ¿Tiene alguna sugerencia sobre cómo manejar las respuestas de gzip con WebClient?