如何在android webView中获取WebResourceRequest的主体

如何在android webView中获取WebResourceRequest的主体,android,webview,Android,Webview,我需要修改android webView请求的请求头。因此,我在方法shouldInterceptRequest中添加了以下代码 这是我的密码: @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { try { String mUrl = request.getUrl().toString(); OkHt

我需要修改android webView请求的请求头。因此,我在方法
shouldInterceptRequest
中添加了以下代码

这是我的密码:

@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
    try {
        String mUrl = request.getUrl().toString();
        OkHttpClient httpClient = new OkHttpClient();
        Request mRequest = new Request.Builder()
                .url(request.getUrl().toString())
                .addHeader("token", UserHelper.getToken()) //add headers
                .build();
        Response response = httpClient.newCall(mRequest).execute();

        return new WebResourceResponse(
            getMimeType(request.getUrl().toString()), // set content-type
            response.header("content-encoding", "utf-8"),
            response.body().byteStream()
        );
    } catch (Exception e) {
        return super.shouldInterceptRequest(view, request);
    }
    return super.shouldInterceptRequest(view, request);
}

实际上,它是有效的,所有的请求都带有新的头。但是,由于我构造了新的请求,原始的请求方法/主体丢失了。我不知道如何从WebResourceRequest中保留原始方法和正文。

能否将正文存储在实例变量中,并在以后的请求中传递该实例变量?有解决方案吗?