C# 如何使用WebClient C压缩上传的数据#
我将WebClient与C一起使用# 下面的代码工作正常C# 如何使用WebClient C压缩上传的数据#,c#,.net,apache,C#,.net,Apache,我将WebClient与C一起使用# 下面的代码工作正常 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.Uploa
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我的Web服务器可以处理压缩
(或者Web服务器上的压缩仅适用于下载?)
我正在Web服务器上运行apache/php
提前感谢Http压缩通常仅用于响应。可以压缩请求,但并非所有web服务器都会接受这些请求并对其进行解压缩 您是否尝试将类型为“Content Encoding”且值为“gzip”的标头添加到请求中 您仍然需要使用GZipStream手动压缩内容,并将压缩的字节写入请求流
不要忘记将写入程序刷新到流中,否则并非所有数据都将通过网络发送:)Http压缩通常仅用于响应。可以压缩请求,但并非所有web服务器都会接受这些请求并对其进行解压缩 您是否尝试将类型为“Content Encoding”且值为“gzip”的标头添加到请求中 您仍然需要使用GZipStream手动压缩内容,并将压缩的字节写入请求流
不要忘记将写入程序刷新到流中,否则并非所有数据都将通过网络发送:)Http压缩通常用于响应。可以压缩请求,但并非所有web服务器都会接受它。您是否尝试将类型为“Content Encoding”且值为“gzip”的标头添加到请求中?您仍然需要使用GZipStream手动压缩内容,并将压缩的字节写入请求流。如果将您的评论作为答案,则我可以接受ITHP压缩通常用于响应。可以压缩请求,但并非所有web服务器都会接受它。您是否尝试将类型为“Content Encoding”且值为“gzip”的标头添加到请求中?您仍然需要使用GZipStream手动压缩内容,并将压缩的字节写入请求流。如果将您的评论作为答案,那么我可以接受