在 Android 中截获 WebView 请求的最佳方式
我正在使用一个必须拦截请求的应用程序。我目前正在使用folllwing代码来做到这一点。WebView
public WebResourceResponse shouldInterceptRequest (WebView view, String url) {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("User-Agent", userAgent);
String mime;
if (url.lastIndexOf('.') > url.lastIndexOf('/')) {
String ext = url.substring(url.lastIndexOf('.') + 1);
mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
} else {
mime = "text/html";
}
return new WebResourceResponse(mime, "UTF-8", conn.getInputStream());
}
上述代码在大多数情况下工作正常,但不是全部。例如,当我尝试登录到Outlook时,它只是显示我的电子邮件或密码不正确,我还看到其他请求被破坏的情况,但是如果我删除,一切正常。shouldInterceptRequest
有没有比我当前用来拦截请求更好的方法?