0

HTTPS 経由で gzip されたバイト配列を送信する必要があります。Web を検索したところ、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 に答える