J'ai une grande quantité de données (~ 100k) que mon application C# envoie sur mon serveur Apache avec mod_gzip installé. J'essaye de gzip les données d'abord en utilisant System.IO.Compression.GZipStream. PHP reçoit les données gzippées brutes, donc Apache ne le décompresse pas comme je m'y attendais. Est-ce que je manque quelque chose?Envoi de données gzippées dans 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...)
Je ne suis pas tout à fait sûr "Content-Encoding: gzip" applique aux en-têtes fournis par le client.
+1 pour le code affichant qui compresse les données affichées. Je crois que vous êtes le seul à l'avoir fait dans toute l'ère Internet ;-) –
J'adorerais entendre si l'une des idées ci-dessous vous a aidé - j'essaie de résoudre le même problème. –