在Android WebView中访问HTTP响应标头

时间:2019-05-19 23:48:50

标签: android android-webview

如何在Android Webview中访问响应头?我在Google上搜索了有关此内容的文章,但是它们使用OkHTTPshouldOverrideUrlLoading中的自定义HTTP请求,但是我认为我们需要自己处理Cookie和HTTP方法。我只想获取响应头。

有没有简单的方法可以做到这一点?还是有任何可用于实现此目的的自定义Webview库?

StackOverflow上有一个与此问题相关的问题,但正如他所说,他使用shouldOverrideUrlLoading中的HTTP请求将请求发送到URL,并将响应数据加载到Webview中。

Access the http response headers in a WebView?

1 个答案:

答案 0 :(得分:0)

我到处搜索,但是没有一种简单的方法可以解决此问题,有多种获取标头的方法。但是对于我当前的项目,我编写了以下内容。我希望将来Android允许在webview中检查标头。

private fun handleRequestViaOkHttp(url: String) {
    thread {
        try {
            val request = Request.Builder()
                .head()
                .url(url)
                .build()
            val response = httpClient.newCall(request).execute()

            Log.d(TAG, response.headers().toString())
        } catch (e: Exception) {}
    }
}

我正在shouldInterceptRequest中使用URL执行此方法。