Ho una grande quantità di dati (~ 100k) che la mia app C# sta inviando al mio server Apache con mod_gzip installato. Sto provando a gzipare i dati usando System.IO.Compression.GZipStream. PHP riceve i dati grezzi con gzip, quindi Apache non lo decomprime come mi aspetterei. Mi sto perdendo qualcosa?Invio di dati gzippati in 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...)
Non sono del tutto sicuro che "Content-Encoding: gzip" si applica alle intestazioni fornite dal client.
+1 per la pubblicazione di codice che comprime i dati pubblicati. Credo che tu sia l'unico ad averlo fatto nell'era di Internet ;-) –
Mi piacerebbe sapere se una delle idee qui sotto ti ha aiutato - sto cercando di risolvere lo stesso problema. –