使用RestSharp发布GZip内容
发布时间:2020-12-16 09:40:01 所属栏目:asp.Net 来源:网络整理
导读:如何使用RestSharp发布GZip数据.我有以下代码,但它没有像我期望的那样工作: var restRequest = new RestRequest(url,Method.POST){ Timeout = Constants.DefaultTimeoutMilliseconds};var dataStream = new MemoryStream();using (var zipStream = new GZip
如何使用RestSharp发布GZip数据.我有以下代码,但它没有像我期望的那样工作:
var restRequest = new RestRequest(url,Method.POST) { Timeout = Constants.DefaultTimeoutMilliseconds }; var dataStream = new MemoryStream(); using (var zipStream = new GZipStream(dataStream,CompressionMode.Compress)) { using (var writer = new StreamWriter(zipStream)) { writer.Write(new DotNetXmlSerializer().Serialize(content)); } } var compressedBytes = dataStream.ToArray(); restRequest.AddParameter("application/x-gzip",compressedBytes,ParameterType.RequestBody); return _restClient.Execute<TResponseData>(restRequest); 当我运行它并检查wireshark跟踪时,compressedBytes变量将被发布为 如果我使用Convert.ToBase64String()和Encoding.Utf8.GetString()将压缩的字节数组作为字符串传递,那么我无法在服务器上解压缩GZip.我只是得到’System.IO.InvalidDataException:GZip标头中的幻数不正确.确保你传递的是GZip’. 有没有办法使用RestSharp发布Gzip数据? 解决方法
确保您已更新到最新版本的RestSharp(如104.4.0),因为这是以前版本中的错误.
我认为这是在104.2中修复的,其中二进制数据的PUT或POST以System.Byte []表示为字符串结束. 更新您的NuGet参考并再次尝试.祝好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 什么时候不是在asp.net中使用runat =“server”?
- asp.net C# config 自定义节点及自定义节点配置以独立文件存
- asp.net – 如何使用多个项目部署单个解决方案?
- Asp.Net Core 第02局:Program
- .net – Autofac SignalR
- DxPackNet 4.保存音视频为本地avi文件
- asp.net-mvc – DI ninject为控制器而不是视图模型工作
- 将@section放在@if .net mvc 3中
- .net – HttpContext.Request和Request之间的区别
- asp.net – 使用AutoGenerateColumns = true操作GridView中
推荐文章
站长推荐
- asp.net – 文本框的默认值
- asp.net-mvc – OWIN – Authentication.SignOut
- 如何在ASP.NET Core应用程序运行Vue并且部署在II
- iis-7 – 使用asp.net在开发机器上创建无cookie应
- asp.net – 无法加载文件或程序集“Microsoft.We
- asp.net – 在IIS中发布CSS文件
- asp.net – 使用Model-View-Presenter模式重定向
- asp.net-mvc – 为什么我需要在asp.net mvc中部分
- ASP.NET MVC/C++#:我可以避免在单行C#条件语句中
- asp.net – 处理通用http处理程序中的会话超时
热点阅读