2016-03-03 65 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") 

希望幫助一些像我一樣陷入困境的人。

感謝