我正在向服务器发送请求并得到 Collection + Json 的响应。 PostMan 中的每一件事都是完美的。

android - OkHttp 返回不可读的字符-LMLPHP

但是当我使用 OKHTTP 在代码中做同样的事情时,我得到了一些不可读的字符。

android - OkHttp 返回不可读的字符-LMLPHP

这是我的代码

      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")

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

谢谢

10-06 07:15