restsharp 组件调用返回 gbk 编码的api,中文乱码解决方法。(restsharp response 中文乱码 gbk)

最近要调一个restful风格的api

用了 一个开源第三方组件,组件还是蛮好用的,

支持直接按参数定义实体类,然后发起请求之前直接 addobject 的方式就把请求参数给添加进去了,

解码的时候可以直接返回得到实体类,调用代码示例如下:

感觉够简便。这样一来我调用restful风格的api,只要按对方参数去组实体类,再按对方返回结果组实体类,就可以正确得到结果了。

但是后来发现中文乱码了,第一反应是,应该是我没设置解析结果时候用的编码,但是打开源代码翻看了一下,没找到哪里设置。。。。不知道是不是姿势不对?

跑去github看issue,发现也有人说。跑去stackoverflow搜了一下,有人和我问题一样。感觉像是个bug了,

做了如下修改,没提交到git,将就着对着改一下就可以用。

第一步:修改 HttpResponse.cs ,如图:

一般的通过这样修改,应该就可以了。

但是,我的还是不行,看对方的http请求返回参数

ContentEncoding没有值。

所以我找到发起请求的地方,

他原来那个ContentEncoding直接拿的是返回的ContentEncoding的值,我判断了一下如果为空,则去拿CharacterSet的值了。

重新编译,测试,可以了。中文不会乱码了

posted @   LoveCoder  阅读(1690)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示