通过HTTPS发送gzip压缩数据

时间:2013-08-20 17:49:38

标签: windows-phone-7 windows-phone-8 gzip

我需要通过HTTPS发送一个gzip压缩字节数组。我在网上搜索过,唯一可以找到的东西是SharpGIS.GZipWebClient。

然而,问题是 - 这个第三方解决方案只适用于WebClient,它允许您只发送字符串数据。

(我在Windows Phone 8上。大多数WebClient方法都不存在。)

有什么想法可以解决这个问题吗?

编辑:

这是我使用SharpGIS通过HTTPS尝试POST JSON数据的方式;

            WebClient webClient = new SharpGIS.GZipWebClient();
            webClient.Headers["Accept-Encoding"] = "gzip";
            var uri = new Uri(pUrl, UriKind.Absolute);
            webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted);
            webClient.UploadStringTaskAsync(uri, jsonAsString);

但它也不压缩字符串(使用OpenWriteSync方法)。

1 个答案:

答案 0 :(得分:0)

您在OpenWriteCompleted处理程序中编写发布数据,如下所示:

void webClient_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
{
   Stream s = e.Result;   
   s.Write(jsonAsByteArray, 0, jsonAsByteArray.Length);
   s.Flush();
   s.Close();
}

您还应该添加适当的错误处理。