【问题标题】:Empty HTTP Get response body when okhttp3 is used使用 okhttp3 时空 HTTP 获取响应正文
【发布时间】:2021-07-20 16:53:12
【问题描述】:

我正在尝试向某个 url 发出 GET 请求 - 结果状态响应为 200 但响应正文很奇怪 - okhttp3.internal.http.RealResponseBody@84f1f6e。我对任何网址都有这个结果(例如,“https://www.bbc.com/russia”)。以下是我的代码快照:

val httpClient: OkHttpClient = OkHttpClient.Builder()
    .addInterceptor(LoggingInterceptor())
    .addNetworkInterceptor(StethoInterceptor())
    .build()


fun runCheckQualityPeriodic() {
    val request = Request.Builder()
        .url("https://www.bbc.com/russia")
        .build()

    val policy = StrictMode.ThreadPolicy.Builder().permitAll().build()
    StrictMode.setThreadPolicy(policy)

    val response = httpClient.newCall(request).execute()
    Logger.tag("krv").v("runCheckQualityPeriodic responce is " + response)
    val body = response.body().toString()
    Logger.tag("krv").v("runCheckQualityPeriodic responce body is " + body)
}

以下是 StethoInterceptor 的屏幕截图:

你知道我为什么会收到这样的结果吗?

【问题讨论】:

    标签: java kotlin okhttp


    【解决方案1】:

    toString() 显示了对开发人员友好的表示。要获得您需要更改的实际内容

    response.body().toString()
    

    response.body().string()
    

    【讨论】:

      猜你喜欢
      • 2017-10-28
      • 2016-11-05
      • 2017-02-25
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多