Mam dużą ilość danych (~ 100k), które moja aplikacja C# wysyła do mojego serwera Apache z zainstalowanym mod_gzip. Próbuję najpierw gzip danych przy użyciu System.IO.Compression.GZipStream. PHP odbiera surowe spakowane dane, więc Apache nie dekompresuje go tak, jak się spodziewałam. Czy czegoś brakuje?Wysyłanie gzipowanych danych w WebRequest?
System.Net.WebRequest req = WebRequest.Create(this.Url);
req.Method = this.Method; // "post"
req.Timeout = this.Timeout;
req.ContentType = "application/x-www-form-urlencoded";
req.Headers.Add("Content-Encoding: gzip");
System.IO.Stream reqStream = req.GetRequestStream();
GZipStream gz = new GZipStream(reqStream, CompressionMode.Compress);
System.IO.StreamWriter sw = new System.IO.StreamWriter(gz, Encoding.ASCII);
sw.Write(large_amount_of_data);
sw.Close();
gz.Close();
reqStream.Close()
System.Net.WebResponse resp = req.GetResponse();
// (handle response...)
Nie jestem do końca pewien, czy "Content-Encoding: gzip" dotyczy nagłówków dostarczanych przez klienta.
+1 do kodu, który kompresuje dane zamieszczone delegowania. Wierzę, że jesteś jedyną osobą, która zrobiła to w erze Internetu ;-) –
Chciałbym usłyszeć, jeśli któryś z poniższych pomysłów pomógł ci - próbuję rozwiązać ten sam problem. –