SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bmarian22

    bmarian22

    22 Aralık 2007
  • BroadCity

    BroadCity

    10 ŞUBAT 2010
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009