android - OkHttp 返回不可读的字符

标签 android okhttp

我正在向服务器发送请求并获取 Collection + Json作为回应。 PostMan 中的一切都是完美的。

enter image description here

但是当我使用 OKHTTP 在代码中执行相同的操作时,我收到一些不可读的字符。

enter image description here

这是我的代码

      OkHttpClient client = new OkHttpClient();

            requestBody = new FormBody.Builder()
                    .add("email", email)
                    .add("password", psd)
                    .build();

            Request request = new Request.Builder()
                    .url(url)
                    .addHeader("Accept", "application/vnd.collection+json")
                    .addHeader("Accept-Encoding", "gzip")
                    .addHeader("Authorization", "Basic YWRtaW46cmVhbHNlYw==")
                    .post(requestBody)
                    .build();

            try {
                Response response = client.newCall(request).execute();
              String s = response.body().string();

                response.body().close();
            } catch (Exception e) {
                e.printStackTrace();
            }

我尝试了其他一些网址,这些网址运行得很好。

非常感谢。

最佳答案

终于我解决了这个问题,虽然我尝试了很多困难的方法,但这并不是一件很困难的事情:P

我通过从代码中删除这一行解决了这个问题

 .addHeader("Accept-Encoding", "gzip")

希望它对像我一样陷入困境的其他人有所帮助。

谢谢

关于android - OkHttp 返回不可读的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35765901/

相关文章:

android - TabWidget onClick after onSaveInstanceState (java.lang.IllegalStateException : Can not perform this action after onSaveInstanceState)

Android Studio TFS(团队基础服务器)

android - session Cookie 在 Retrofit Android 中不持久

android - 使用 Picasso 和回收站 View 显示图像列表

android - 添加查询参数 OKHttp3

java - 将模块包含到项目后得到 "unsupported class file version 52.0"

android - 在 AChartEngine 动态线图上显示最近绘制的值

android - 如何使用 OkHttp/Retrofit 重试 HTTP 请求?

google-app-engine - 在 Google App Engine 上通过 OKClient 使用 OkHttp 客户端会抛出 "java.lang.NoClassDefFoundError: java.net.ProxySelector"is a restricted class 错误

java - 从不同的 AsyncTask 更改 AsyncTask 中的布局