WP8不支持Gzip压缩,但有第三方库可以让你这样做,我尝试了很多,但我无法使它工作。这是我最近的尝试:WP8 Gzip压缩
var handler = new HttpClientHandler();
if (handler.SupportsAutomaticDecompression)
{
handler.AutomaticDecompression = DecompressionMethods.GZip |
DecompressionMethods.Deflate;
}
Uri myUri = new Uri("http://www.web.com");
HttpClient client = new HttpClient(handler);
client.BaseAddress = myUri;
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("ubq-compression", "gzip");
HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, myUri);
req.Content = new StringContent(finalURL, Encoding.UTF8);
HttpResponseMessage rm = client.SendAsync(req).Result;
string rst = await rm.Content.ReadAsStringAsync();
的API返回给我一个字节数组,但第300不Gziped但一切是
我需要解压300个字节之后到来的一切。
我使用的http://www.nuget.org/packages/Microsoft.Net.Http
//我正在[] HJ = res.Take(300).ToArray()分裂阵列 字节; byte [] bJ = res.Skip(300).ToArray();
bj是什么需要解压。
我试图此
MemoryStream的流=新的MemoryStream(); stream.Write(bj,0,bj.Length);
using (var inStream = new MemoryStream(bj))
{
var bigStreamsss = new GZipStream(inStream, CompressionMode.Decompress, true);
using (var bigStreamOut = new MemoryStream())
{
bigStreamsss.CopyTo(bigStreamOut);
output = Encoding.UTF8.GetString(bigStreamOut.ToArray(), 0, bigStreamOut.ToArray().Length);
}
}
,但它始终是在这一行没有 “ VAR bigStreamsss =新GZipStream(插播广告,CompressionMode.Decompress,真); ”
任何帮助,将不胜感激
该库不支持windows phone 8 – wandos
该库支持即使便携库。 wp7项目的示例(以上)部分。 – pbd