环顾四周后,我无法找到一种简单的方法来拦截WebView发出的请求并更改URL。
例如,我希望请求*.melange
实际路由到localhost:8080
,同时将原始网址保留为Host
标头。
乍一看,实现这种URL重写的最简单方法是使用" new" (API级别21或更高级别)shouldInterceptRequest
,从WebResourceRequest
复制值以手动生成HTTP请求,然后返回具有正确值的WebResourceResponse
。在我看来,"应该"做一个更容易的方法。
如果我遗漏了一些明显的东西,请告诉我。谢谢!
答案 0 :(得分:0)
private class MyWebviewclient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("melange"){
String newUrl = "http://localhost:8080"+url.split("melange")[1];
loadUrl(newUrl);
}
return false;
}
}
现在,
yourWebView.setWebViewClient(new MyWebviewclient());