我在使Web视图正常工作时遇到了一些麻烦
Webview应该显示此URL https://mcdonalds.de/deinfeedback,但是每当我尝试加载它时,我的onReceivedHttpError
方法都会向我返回一个
403禁止进入
错误。它对于https://www.google.com等其他网址也很好,但是我似乎无法使其适用于此网址。起初,我认为它与ssl证书有关,但是从未调用过WebViewClient的onReceiveSslError
。然后,我尝试将我的用户代理字符串更改为与我的移动浏览器中的字符串相同,但仍返回相同的403错误
这是我在onCreate中处理WebView的部分
webViewDisplay.settings.builtInZoomControls = true
webViewDisplay.settings.displayZoomControls = false
webViewDisplay.settings.domStorageEnabled = true
webViewDisplay.settings.javaScriptEnabled = true
webViewDisplay.settings.javaScriptCanOpenWindowsAutomatically = true
webViewDisplay.webViewClient = MyWebClient()
webViewDisplay.loadUrl(resources.getString(R.string.web_activation_url_main)) //https://www.mcdonalds.de/deinfeedback
这是我的WebViewClient
inner class MyWebClient : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest): Boolean {
Log.v(TAG, "Overriding Url to ${request.url.toString()}")
return false //continues loading
}
override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler, error: SslError?) {
Log.v(TAG, "Ssl Error")
handler.proceed() //handle error
}
override fun onReceivedHttpError(view: WebView?, request: WebResourceRequest?, errorResponse: WebResourceResponse) {
Log.v(TAG, "Http Error ${errorResponse.statusCode} ${errorResponse.reasonPhrase}")
super.onReceivedHttpError(view, request, errorResponse)
}
}
我希望有人可以帮我这个忙