2016-03-03 49 views
1

我正在向服务器发送请求并获取Collection + Json进行响应。 PostMan中的每件事都是完美的。OkHttp返回无法读取的字符

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(); 
      } 

我尝试了一些其他的URL和那些正在努力完善。

非常感谢。

+0

[检查](http://stackoverflow.com/questions/9254891/what-does-content-type-application-json-charset-utf-8-really-mean),看看它是否正确实施 – Skynet

+0

@Skynet,但我不会将Cj发布到主体中的服务器。 –

+0

这是用于接受部分。 – Skynet

回答

1

我终于解决了这个问题,但我想的困难的方法很多的这不是很困难的:P

我从代码删除此行解决的问题

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

希望帮助一些像我一样陷入困境的人。

感谢