0

我需要通过 HTTPS 发送一个压缩字节数组。我在网上搜索,我唯一能找到的是 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 方法)。

4

1 回答 1

0

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

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

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

于 2013-08-21T00:14:09.177 回答