对于 Kotlin 和 OkHttp 来说都相对较新。目前有如下代码
class CustomWebViewClient : WebViewClient() {
override fun shouldInterceptRequest(view: WebView?, request: WebResourceRequest?): WebResourceResponse? {
val okClient: OkHttpClient = OkHttpClient()
val okRequest: Request = Request.Builder().url(request!!.url.toString()).build()
val response = okClient.newCall(okRequest).execute()
return WebResourceResponse("", "", response.body!!.byteStream())
// cant call response.close() otherwise the above return object breaks
}
}
尝试调用 response.close()
时遇到问题,因为它破坏了我的 byteStream()
将响应的全部内容读取到内部字节数组/内存输入流中的最简单方法是什么?
(在随后关闭连接并将输入流的内存中副本传递给响应之前?)
最佳答案
尝试以下其中一项:
response.body().bytes() response.body().string()
关于android - 在 OkHttp 中将整个 byteStream/inputStream 响应读取到内存中的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73643541/