我在C#中使用WebClient 以下代码工作正常
wc = new WebClient();
wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
NameValueCollection nvc = new NameValueCollection();
nvc.Add("webdata", JsonConvert.SerializeObject(webdata));
response = wc.UploadValues(@"http://localhost/api/results", "PUT", nvc);
应用程序最有可能通过移动数据连接使用,因此为了最大限度地降低成本,我想确保数据被压缩,因为它都是txt。我使用json而不是xml来减小大小(并且可能会改变格式以进一步减少开销)
在将数据添加到WebClient之前,是否需要手动压缩数据 或者有什么方法我可以告诉WebClient我的网络服务器可以处理压缩 (或者网络服务器上的压缩仅适用于下载吗?)
我在网络服务器上运行apache / php
提前致谢
答案 0 :(得分:1)
Http压缩通常仅用于响应。可以压缩请求,但并非所有Web服务器都会接受这些请求并对其进行解压缩。
您是否尝试过添加“Content-Encoding”类型的标头并将“gzip”值添加到您的请求中?
您仍然需要使用GZipStream手动压缩内容,并将压缩的字节写入请求流。
不要忘记将您的作者刷新到流中,或者不会通过网络发送所有数据:)