Android WebView打开Https网站

时间:2016-10-25 05:14:54

标签: android ssl webview https

我无法打开此网址:https://mima.crc.com.cn/OIMPWD/retrieveUnameController/prepareInputName.doAndroid WebView中(SDK> = 21,但它工作正常< 21)。

Error message in WebView

我也无法在Chrome中打开此网址,但在Safari或IE中可以正常使用。

这是我的Android代码:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_forget_password);
    ButterKnife.bind(this);
    String titleStr = getIntent().getStringExtra("title");
    initToolBar(titleStr);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSupportZoom(true);
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    });
    webView.loadUrl("https://mima.crc.com.cn/OIMPWD/retrieveUnameController/prepareInputName.do");
}

我可以为这个问题做些什么?服务器无法更改。

  1. 有一些api忽略SSL验证吗?
  2. 使用一些开源浏览器?但是哪一个?

1 个答案:

答案 0 :(得分:2)

将这些依赖项添加到项目级Gradle文件

项目级别

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.1'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}

并将其添加到App Level Gradle

应用级别

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    testCompile 'junit:junit:4.12'
}

<强> MainActivity.java

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.webView1)
    WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ButterKnife.bind(this);
        String titleStr = getIntent().getStringExtra("title");
//        initToolBar(titleStr);

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setSupportZoom(true);
        webView.setWebViewClient(new WebViewClient(){
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.proceed();
            }
        });

        webView.loadUrl("https://mima.crc.com.cn/OIMPWD/retrieveUnameController/prepareInputName.do");

    }
}

<强>截图

相关问题