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

最近要调一个restful风格的api

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

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

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

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

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

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

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

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

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

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

ContentEncoding没有值。

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

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

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

posted @ 2017-08-21 14:40  LoveCoder  阅读(1629)  评论(0编辑  收藏  举报