今天遇到一个需求,H5内部调用登录请求,然后手机端给他拼接用户的ID及其他消息
这个WebView提供了方法shouldInterceptRequest
下面代码,只是简单demo,请求方式是get
mWebView.setWebViewClient(new WebViewClient() { @Nullable @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { if (url.contains("UserName")) { URL urlStr = null; try { urlStr = new URL(url+"?userId=12"); URLConnection rulConnection = urlStr.openConnection(); HttpURLConnection conn = (HttpURLConnection) rulConnection; conn.setRequestProperty("Accept-Charset", "utf-8"); conn.setRequestProperty("contentType", "utf-8"); conn.setRequestMethod("GET"); // Read input String charset = conn.getContentEncoding() != null ? conn.getContentEncoding() : Charset.defaultCharset().displayName(); String mime = conn.getContentType(); InputStream isContents = conn.getInputStream(); return new WebResourceResponse(mime, charset, isContents); } catch (Exception e) { e.printStackTrace(); return null; } } else { return super.shouldInterceptRequest(view, url); } } });