Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用WebClient C压缩上传的数据#_C#_.net_Apache - Fatal编程技术网

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

我将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.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手动压缩内容,并将压缩的字节写入请求流。如果将您的评论作为答案,那么我可以接受