首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何阻止Android中的WebView将'https‘转换为'http'?

在Android中,WebView默认会将所有以'https'开头的URL转换为'http'。这是因为WebView默认不信任自签名的SSL证书,而自签名证书通常用于https连接。要阻止WebView将'https'转换为'http',可以通过以下步骤实现:

  1. 创建一个自定义的WebViewClient类,继承自WebViewClient。
代码语言:txt
复制
public class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        // 在此处进行URL的处理
        return super.shouldOverrideUrlLoading(view, request);
    }
}
  1. 在shouldOverrideUrlLoading方法中,判断URL是否以'https'开头,如果是,则返回false,表示不进行URL的重定向。
代码语言:txt
复制
public class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        String url = request.getUrl().toString();
        if (url.startsWith("https")) {
            return false;
        }
        return super.shouldOverrideUrlLoading(view, request);
    }
}
  1. 在使用WebView的地方,设置自定义的WebViewClient。
代码语言:txt
复制
WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());

通过以上步骤,WebView将不再将'https'转换为'http',而是保持原始的URL。这在一些特定场景下可能会有用,例如需要加载自签名证书的https网页。

腾讯云相关产品和产品介绍链接地址:

请注意,以上答案仅供参考,具体实现可能需要根据实际情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何HTTP重定向到Apache上HTTPS

本教程向您展示如何在Linux中将HTTP重定向到Apache HTTP服务器上HTTPS 。...在为您域设置Apache HTTPHTTPS重定向之前,请确保已安装SSL证书,并在Apache启用mod_rewrite 。 有关如何在Apache上设置SSL更多信息,请参阅以下指南。...如何为Apache创建自签名SSL证书和密钥 如何安装我们在CentOS / RHEL上加密SSL证书7 如何安装我们在Debian / Ubuntu上加密SSL证书 使用.htaccess文件HTTP...HTTP重定向到Apache虚拟主机上HTTPS 另外,要强制所有Web流量使用HTTPS ,您还可以配置虚拟主机文件。...您可能希望阅读这些有用Apache HTTP服务器安全强化文章: 25有用Apache'.htaccess'技巧来保护和自定义网站 如何使用.htaccess文件密码保护ApacheWeb目录

4.2K20

如何 Java 8 流转换为数组

问题 Java 8 ,什么是流转换为数组最简单方式?...String[] stringArray = stringStream.toArray(size -> new String[size]); 其中 IntFunction generator 目的是数组长度放到到一个新数组中去...我们县创建一个带有 Stream.of 方法 Stream,并将其用 mapToInt Stream 转换为 IntStream,接着再调用 IntStream toArray...; 紧接着也是一样,只需要使用 IntStream 即可; int[]array2 = IntStream.rangeClosed(1, 10).toArray(); 回答 3 利用如下代码即可轻松一个流转换为一个数组...然后我们在这个流上就可以进行一系列操作了: Stream myNewStream = stringStream.map(s -> s.toUpperCase()); 最后,我们使用就可以使用如下方法将其转换为数组

3.9K10

如何优雅Mybatis日志Preparing与Parameters转换为可执行SQL

我们大家在工作应该都是用过Mybatis吧,有时候我们在本地调试时候,会打开MybatisSQL日志打印,那么打印出来SQL是下图这样 你可以看到预编译SQL条件用占位符(?)...不用MAME麻烦,今天就告诉你如何mybatis日志Preparing与Parameters转化为可执行sql。...原作者文章地址: https://blog.csdn.net/Zale_J/article/details/89402668 只需要搞个html文件,然后把作者源码贴进去,然后保存,用浏览器打开...tempStr = parametersStr[i].substring(0, parametersStr[i].indexOf("(")); // 获取括号内容...做优化原文: https://www.cnblogs.com/n031/p/11176346.html 下面是效果图: 优化代码: <!

1.5K30

如何Android实现一个简易Http服务器

最近遇到一个需求需要在App创建一个Http服务器供供浏览器调用,用了下开源微型Htpp服务器框架:NanoHttpd,项目地址:https://github.com/NanoHttpd/nanohttpd...,这里显示获取了请求方法,因为我们项目中暂时只用post(demo),所以只针对post请求做了处理,get处理会更简单。...因为post请求带有body,所以需要先声明一个HashMap,body键值对取出来。...这里我们把请求过来json数据映射到了”postData”,然后从通过” final String postData = files.get("postData"); 这行代码将其取出来.session...至此一个简单Http服务器就出来了,通常把它放在一个service中等待请求。 以上就是本文全部内容,希望对大家学习有所帮助。

2.3K20

H5如何与原生App通信?

Android容器 在安卓客户端webView容器与手机自带浏览器内核一致,多为android-chrome。不存在兼容性和性能问题。...params=' + encodeURIComponent(obj)然后带上你要传递给ios参数;然后在客户端内拦截到指定协议头请求之后就阻止该请求并解析url上参数,执行相应逻辑 在H5发起这种特定协议请求方式分两种...Android客户端调用H5方法 在安卓APP,客户端通过webviewloadUrl进行调用: // android JAVA code webView.loadUrl("javascript:...RNhttp://localhost:8081/debugger-ui 只能调试RN代码,无法调试webView代码,RN下webView调试和对应native相同,但是在chrome://inspect..._哔哩哔哩_bilibili Android基础课程-Fragment使用方法_哔哩哔哩_bilibili Android基础课程-热修复/热更新技术原理_哔哩哔哩_bilibili 本文https

5.8K20

基于 Vue 和 TS Web 移动端项目实战心得

所有资源预编译成一份文件,并将这份文件显式注入项目构建 HTML 模板,这样做法,在 HTTP1 时代是被推崇,因为那样能减少资源请求数量,但在 HTTP2 时代如果拆成多个 CDN Link...http 模块,全局集成上报错误函数(native 接口错误上报类似,可在项目中查看)。...如果是 webview 加载网页,也可以通过 webview 加载失败钩子监控网页崩溃等。 如何监控网页崩溃?...服务响应 cookie,持久化到本地,在下次 webview 启动时,读取本地 cookie 值,手动再去通过 native 往 webview 写入。...因为 Android 版本碎片问题,很多版本 WebView 都对唤起函数有不同支持。

3.4K21

Android 12行为变更和版本兼容思路

现在,站点HTTPHTTPS版本之间链接被视为跨站点请求,因此,除非将cookie适当地标记为,否则不会发送cookie SameSite=None; Secure。...您必须明确指定允许在跨网站或从HTTPHTTPS同一站点导航中使用cookie。...在您应用程序测试SameSite行为 如果您应用程序使用WebView,或者如果您管理使用Cookie网站或服务,则建议您在Android 12 WebView上测试流程。...下图显示了标准模板自定义通知: 以下示例显示了自定义通知如何以折叠状态和展开状态呈现: Android12变化影响定义定制子类应用程序 Notification.Style,或使用...如果您希望手动刷新设备,则可以在Pixel下载页面上为设备获取Android 12系统映像。有关如何系统映像刷新到设备信息,请参见下载页面上一般说明。

4.4K10

Android Webview滑进出屏幕闪烁解决方法

前言 在使用Webview进行滑动操作时,从屏幕可见区域外向内滑动时,会出现webview区域闪烁问题(反之也是),本文提供一种解决方案。 问题图示 ? xml布局: <?...无论怎样也想不到为什么会如此,毕竟本身api实现上是有些缺陷https://stackoverflow.com/questions/9170042/how-to-add-padding-around-a-webview...可以看到要注入js控制样式这块是没有设置。因此可以padding-top参数通过这里设置进去。 ? 但是发现设置该参数无效,是什么原因呢?接着往下翻: ?...原来是body控制了padding-top最高级样式显示,所以element-style设置无效。...只需要将这部分操作转换为对应代码即可: 将上面的 webView.loadUrl("javascript:document.body.style.paddingTop="" + contentViewHeight

1.6K10

移动 web 最佳实践(干货长文)

所有资源预编译成一份文件,并将这份文件显式注入项目构建 HTML 模板,这样做法,在 HTTP1 时代是被推崇,因为那样能减少资源请求数量,但在 HTTP2 时代如果拆成多个 CDN Link...http 模块,全局集成上报错误函数(native 接口错误上报类似,可在项目中查看)。...如果是 webview 加载网页,也可以通过 webview 加载失败钩子监控网页崩溃等。 如何监控网页崩溃?...服务响应 cookie,持久化到本地,在下次 webview 启动时,读取本地 cookie 值,手动再去通过 native 往 webview 写入。...因为 Android 版本碎片问题,很多版本 WebView 都对唤起函数有不同支持。

2.7K61

移动 Web 最佳实践(干货长文,建议收藏)

所有资源预编译成一份文件,并将这份文件显式注入项目构建 HTML 模板,这样做法,在 HTTP1 时代是被推崇,因为那样能减少资源请求数量,但在 HTTP2 时代如果拆成多个 CDN Link...http 模块,全局集成上报错误函数(native 接口错误上报类似,可在项目中查看)。...如果是 webview 加载网页,也可以通过 webview 加载失败钩子监控网页崩溃等。 如何监控网页崩溃?...服务响应 cookie,持久化到本地,在下次 webview 启动时,读取本地 cookie 值,手动再去通过 native 往 webview 写入。...因为 Android 版本碎片问题,很多版本 WebView 都对唤起函数有不同支持。

2.4K10
领券