我试图在webview上打开一个网站网址。但我得到错误“403禁止访问被拒绝”。如何解决这个问题?我使用wifi连接,我也在清单文件中写了互联网权限。像这样 如何解决这个问题? 谢谢你的帮助。
答案 0 :(得分:1)
对于在2018年遇到相同问题的任何人。请尝试以下代码并阅读我的解释。
为什么可以获得403 Forbidden错误的原因很少。我已经确定了其中两个。
User Agent
被网站阻止。以下是设置SSL配置的方法。这里newsWebView
是WebView
。
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加载页面