Jes*_*lle 6 redirect android webview webviewclient
有什么方法可以拦截Android WebView中的重定向请求?shouldInterceptRequest(WebView,WebResourceRequest)似乎没有被调用!
我想通过以下方式自动捕获所有Web视图请求中的令牌到期:
第2项工作正常,但第3项却失败了,因为似乎没有调用shouldInterceptRequest进行重定向,这确实是错误的-尤其是因为这没有记录,并且WebResourceRequest API会使人相信,甚至可以检查是否请求是重定向。
我会很乐意响应401而不是使用重定向-但我看不到有使用更新的令牌“就地”重试该请求的方法,除非该请求恰好是顶级页面请求。
我想我可以尝试老“页面”重定向,而不是302的,看看是否能工作的更好,但即使它是真正的黑客攻击。
(请注意,这显然不同于Android WebView,它是如何在应用程序中处理重定向而不是打开浏览器的问题 -因为我已经拥有一个Webview,并且正在尝试拦截和操纵重定向请求。)
Kotlin 上的拦截示例:
webView.webViewClient = object: WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
if (url.startsWith("https://example.com")) {
// ...
return false
}
return super.shouldOverrideUrlLoading(view, url)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |