得到错误“403禁止访问被拒绝”android

时间:2013-07-22 12:30:27

标签: android

我试图在webview上打开一个网站网址。但我得到错误“403禁止访问被拒绝”。如何解决这个问题?我使用wifi连接,我也在清单文件中写了互联网权限。像这样 如何解决这个问题? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

对于在2018年遇到相同问题的任何人。请尝试以下代码并阅读我的解释。

为什么可以获得403 Forbidden错误的原因很少。我已经确定了其中两个。

  1. 这是一个SSL问题。
  2. 您的User Agent被网站阻止。
  3. 以下是设置SSL配置的方法。这里newsWebViewWebView

    newsWebView.setWebViewClient(new WebViewClient() {
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        view.loadUrl(url);
                        return true;
                    }
    
                    public void onPageFinished(WebView view, String url) {
                    }
    
                    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                    }
    
                    public void onReceivedSslError(final WebView view, final SslErrorHandler handler, final SslError error) {
                        // TODO Auto-generated method stub
                        super.onReceivedSslError(view, handler, error);
                        handler.proceed();
                    }
                });
    

    这是您设置User Agent的方法。我正在设置谷歌Chrome代理,这是我们通常在手机中找到的代理。

    newsWebView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; <Android Version>; <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>");
    

答案 1 :(得分:-1)

尝试在Web客户端上添加此代码:

 public void onReceivedSslError(final WebView view, final SslErrorHandler handler, final SslError error) {
                // TODO Auto-generated method stub
                super.onReceivedSslError(view, handler, error);
                handler.proceed();
            }

如果网站出现SSL错误,它将允许webview加载页面