【问题标题】:okhttp get request return body is not as I expectedokhttp get request return body 不像我预期的那样
【发布时间】:2019-03-28 15:22:01
【问题描述】:

我使用 okhttp 来获取特定 url 的文本。 我尝试获取的网址是

https://firebasestorage.googleapis.com/v0/b/famhouse.appspot.com/o/branchname%2Ftextfile?alt=media&token=a58b07a4-ddee-4ece-8222-0854a6c2a713

如您所见,它只有正文说“Testtest”

我得到了很好的响应,我记录了 response.body().toString() 但它说

okhttp3.internal.http.RealResponseBody@e640919

我希望在日志中看到的是 Testtest

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mContext=this.getApplicationContext();
    checkPermission();
    OkHttpHandler okHttpHandler= new OkHttpHandler();
    okHttpHandler.execute("https://firebasestorage.googleapis.com/v0/b/famhouse.appspot.com/o/branchname%2Ftextfile?alt=media&token=a58b07a4-ddee-4ece-8222-0854a6c2a713");





}

 public class OkHttpHandler extends AsyncTask {
    OkHttpClient client = new OkHttpClient();
    @Override
    protected Object doInBackground(Object[] objects) {
        Request request = new Request.Builder()
                .url("https://firebasestorage.googleapis.com/v0/b/famhouse.appspot.com/o/branchname%2Ftextfile?alt=media&token=a58b07a4-ddee-4ece-8222-0854a6c2a713").addHeader("Accept", "application/json")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                if (!response.isSuccessful()) {
                    throw new IOException("Unexpected code " + response);
                } else {
                    Log.e("dialog","response is : "+response.body().toString());
                    Log.e("dialog","response is : "+response.code());
                }
                }
            });
        return null;
    }
}

【问题讨论】:

    标签: android get okhttp


    【解决方案1】:

    你应该使用 response.body().string()

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 2016-03-07
      • 2020-07-21
      • 2020-03-11
      相关资源
      最近更新 更多