Wysyłanie spakowanych danych w WebRequest?

Mam dużą ilość danych (~ 100k), które moja aplikacja C # wysyła do mojego serwera Apache z zainstalowanym mod_gzip. Próbuję najpierw rozpakować dane za pomocą System.IO.Compression.GZipStream. PHP odbiera surowe dane spakowane gzipem, więc Apache nie dekompresuje go tak, jak powinienem. Czy czegoś mi brakuje?

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 dostarczonych przez klienta.

questionAnswers(5)

yourAnswerToTheQuestion