8 Mayıs 2009, Cuma
HttpWebRequest Ve Yerel GZip Sıkıştırma
Gzip sıkıştırma ile ilgili bir sayfa isterken aşağıdaki hataları çok alıyorum:
Sistem.IO.İnvalidDataException: GZip altbilgi CRC eşleşmiyor Bu sıkıştırılmış hesaplanan CRC veri
Yerel GZipStream sıkıştırmak için kullanıyorum ve bu ele bakarak. Unutmayın ki orada geçici bir çözüm bu ya da başka bir GZip Kütüphanesi (özgür?) adresleme için. bu sorunu düzgün bir şekilde idare edecek?
ContentEncoding GZİP olduğunu webResponse doğrulamaya devam ediyorum
Güncelleme 5/11 Basitleştirilmiş bir snippit
//Caller
public void SOSampleGet(string url)
{
// Initialize the WebRequest.
webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = WebRequestMethods.Http.Get;
webRequest.KeepAlive = true;
webRequest.Accept = "text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8";
webRequest.Headers.Add("Accept-Encoding", "gzip,deflate");
webRequest.Referer = WebUtil.GetDomain(url);
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
using (Stream stream = GetStreamForResponse(webResponse, READTIMEOUT_CONST))
{
//use stream
}
}
//Method
private static Stream GetStreamForResponse(HttpWebResponse webResponse, int readTimeOut)
{
Stream stream;
switch (webResponse.ContentEncoding.ToUpperInvariant())
{
case "GZIP":
stream = new GZipStream(webResponse.GetResponseStream(), CompressionMode.Decompress);
break;
case "DEFLATE":
stream = new DeflateStream(webResponse.GetResponseStream(), CompressionMode.Decompress);
break;
default:
stream = webResponse.GetResponseStream();
stream.ReadTimeout = readTimeOut;
break;
}
return stream;
}
CEVAP
15 EKİM 2011, CUMARTESİ
Ne webrequest AutomaticDecompression Özelliği beri mevcut .net 2? Sadece ekleyin:
webRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
Ayrıca,kodlama başlık kabul gzip deflate ekler.
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.automaticdecompression.aspx bkz
Bunu Paylaş:
Nasıl ASP.NET GZip sıkıştırma uygulama...
Nasıl IIS7 MVC3 kullanarak gzip sıkışt...
Deflate sıkıştırma GZİP üzerinde uyuml...
Nasıl IIS7 çalışıyor gzip sıkıştırma a...
Tar için kullanan çok çekirdekli/bzip ...