Estoy tratando de publicar datos en el servidor que acepta datos comprimidos. El siguiente código funciona bien, pero no está comprimido. No he trabajado con compresión o Gzip beofre, por lo que cualquier ayuda se aplica.Cómo comprimir un HttpWebRequest POST
HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
request.Timeout = 600000;
request.Method = verb; // POST
request.Accept = "text/xml";
if (!string.IsNullOrEmpty(data))
{
request.ContentType = "text/xml";
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data);
request.ContentLength = byteData.Length;
// Here is where I need to compress the above byte array using GZipStream
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
}
XmlDocument xmlDoc = new XmlDocument();
HttpWebResponse response = null;
StreamReader reader = null;
try
{
response = request.GetResponse() as HttpWebResponse;
reader = new StreamReader(response.GetResponseStream());
xmlDoc.LoadXml(reader.ReadToEnd());
}
¿Descomprimo toda la matriz de bytes? ¿Debo agregar otros encabezados o eliminar el que ya está allí?
Gracias!
-Scott
El artículo enlazado explica cómo descomprimir datos devueltos en una respuesta, pero no la forma de estructurar la solicitud usando datos comprimidos. – Scott
@Scott Actualizado. –