我现在拦截在网页视图的请求的代码是的Android拦截的WebView要求正确
@Override
public WebResourceResponse shouldInterceptRequest(WebView view,
String url) {
String ext = MimeTypeMap.getFileExtensionFromUrl(url);
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
if (mime == null) {
return super.shouldInterceptRequest(view, url);
} else {
HttpURLConnection conn = (HttpURLConnection) new URL(
url).openConnection();
conn.setRequestProperty("User-Agent", userAgent);
return new WebResourceResponse(mime, "UTF-8",
conn.getInputStream());
}
}
我得到这个代码 The best way to intercept a WebView request in Android。
但是,每当我尝试执行身份验证,让我们说我在我的webview加载Facebook。
mWebView.loadUrl("https://www.facebook.com/");
什么都没有发生,我注意到的是,请求标头是不完整的,也是响应。此外,来源中没有Cookie。 (我通过Chrome远程调试webview时看到了这一点)。
请纠正我,如果我错了,但我认为不完整的标题和缺少的cookie是导致登录请求失败的原因。
有没有一种方法可以修改请求并设置其标头?对于答复,我也应该这样做吗?最后,我将如何获得cookie。