OKHttp 3如何设置post请求编码?我用了RequestBody.create方法

发布于 2021-11-30 09:56:59 字数 729 浏览 918 评论 4


这是create的源码:

public static RequestBody create(MediaType contentType, String content) {
    Charset charset = Util.UTF_8;
    if (contentType != null) {
      charset = contentType.charset();
      if (charset == null) {
        charset = Util.UTF_8;
        contentType = MediaType.parse(contentType + "; charset=utf-8");
      }
    }
    byte[] bytes = content.getBytes(charset);
    return create(contentType, bytes);
  }



这个content是post的话是类似“a=88&b=99”这样的字符串吗?
测试了好几次了。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情场扛把子 2021-12-02 07:54:17

大赞!正解!我没积分可以顶。只能评论了

柒夜笙歌凉 2021-12-01 23:16:27

okhttp 3已经没formencodingbuilder了

温柔少女心 2021-12-01 05:40:58

回复
FormBody.Builder这个

路还长,别太狂 2021-12-01 05:02:26

post键值对的话用FormEncodingBuilder,RequestBody.create是传字符串和文件用的

FormEncodingBuilder用法大致

FormEncodingBuilder builder = new FormEncodingBuilder();

build.add(key,value);

……

ps:FormEncodingBuilder 是没有编码设置的。

详细可以查看
https://github.com/square/okhttp/wiki/Recipes

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文