У меня есть большой объем данных (~ 100k), которые мое приложение С# отправляет на мой сервер Apache с установленным mod_gzip. Сначала я пытаюсь выполнить gzip, используя System.IO.Compression.GZipStream. PHP получает необработанные gzipped данные, поэтому Apache не разжимает его, как я ожидал. Я что-то пропустил?
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...)
Я не совсем уверен, что "Content-Encoding: gzip" применяется к поставляемым клиентам заголовкам.