为什么我的Android WebView向我显示403禁止错误

问题描述 投票:0回答:1

我在使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)
        }

    }

我希望有人可以帮我这个忙

android kotlin android-webview http-status-code-403
1个回答
0
投票
enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.