zoukankan      html  css  js  c++  java
  • restsharp 组件调用返回 gbk 编码的api,中文乱码解决方法。(restsharp response 中文乱码 gbk)

    最近要调一个restful风格的api

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

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

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

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

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

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

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

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

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

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

    ContentEncoding没有值。

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

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

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

  • 相关阅读:
    客户端session与服务端session
    对session和cookie的一些理解
    Servlet生命周期与工作原理
    Linux命令行编辑快捷键
    含有GROUP BY子句的查询中如何显示COUNT()为0的成果(分享)
    设计模式学习——准备(UML类图)
    find()方法
    js中的动态效果
    动态添加,移除,查找css属性的方法
    VUE中的require ( )
  • 原文地址:https://www.cnblogs.com/Jerseyblog/p/7404283.html
Copyright © 2011-2022 走看看