2010-12-31 18 views

cevap

72

Bunu yapmanın en kolay yolu, HttpWebRequest sınıfı ile automatic decompression yerleşik kullanımını kullanmaktır.

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

kendi sınıf WebClient türetilmiş yapmak ve GetWebRequest() yöntemini geçersiz zorunda WebClient ile Bunu yapmak için. Does .NET's HttpWebResponse uncompress automatically GZiped and Deflated responses?

+1

o türetilmiş webclient sınıf için acceptencoding başlığını belirtmek gerekmez:

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

Ayrıca, bu SO iplik görmek? – user3791372