es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El WebView de Android está convirtiendo la solicitud http a https.

Estoy intentando cargar un WebView con el contenido de un punto final Http, pero el WebView está convirtiendo automáticamente la URL a https y dando el siguiente error:

La página web no se pudo cargar porque: net::ERRSSLPROTOCOL_ERROR

Ya estoy usando android:usesCleartextTraffic=”true” en el archivo de manifiesto.

Por favor, ayúdame a superar este problema.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Si el WebView está automáticamente convirtiendo la URL a HTTPS, significa que el servidor está redirigiendo la solicitud HTTP a un punto final de HTTPS. En este caso, el error del protocolo SSL ocurre porque el WebView no puede establecer una conexión segura con el servidor debido a una falta de coincidencia del certificado o una versión SSL obsoleta.

    Para superar este problema, puede intentar los siguientes pasos:

    1. Verifique si el punto final del servidor admite HTTPS y tiene instalado un certificado SSL válido. Puede validar el certificado utilizando una herramienta como SSL Checker.
    2. Si el certificado SSL es inválido o ha expirado, debe contactar al administrador del servidor para solucionar el problema.

    3. Si el punto final del servidor admite HTTP y desea evitar que el WebView se redirija a HTTPS, puede usar el siguiente código en su aplicación:

    webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    

    Esto permitirá que su WebView cargue contenido tanto de puntos finales HTTP como HTTPS.

    1. Si el punto final del servidor solo admite HTTPS y desea omitir la validación del certificado SSL, puede usar el siguiente código:
    WebView.setSSLCertificateErrorHandler(new WebViewClient(){
        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    });
    

    Tenga en cuenta que omitir la validación del certificado SSL no se recomienda ya que puede exponer su aplicación y usuarios a riesgos de seguridad. Debe usarse solo como último recurso.

Comments are closed.