处理:This request has been blocked; the content must be served over HTTPS.

8 篇文章 0 订阅
2 篇文章 0 订阅
https://segmentfault.com/a/1190000021534343
处理:This request has been blocked; the content must be served over HTTPS.
方案一:
具体的解决方法(!!!亲测有效!!!)主要是:
 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
可以在相应的页面的<head>里加上这句代码,意思是自动将http的不安全请求升级为https。
使用这个设置会自动将http升级为https

方案二:
Android这里的webview设置允许http和https混合模式,并不能解决问题

android的无效设置,可以了解下。设置了,我并没有解决问题。

https://blog.csdn.net/adojayfan/article/details/88880269

场景

在Android中使用WebView加载一些网页时,明明调用了WebView.loadUrl(“xxxxxx”),但是WebView却显示一片空白。

下面是我用WebView加载百度首页(https://www.baidu.com)出现的提示。我用小米手机自带的浏览器加载会弹出证书有问题的提示,但是WebView啥也没提示,只有一片空白。

2019-03-28 12:06:51.973 22181-22181/com.example.app I/chromium: [INFO:CONSOLE(0)] “Mixed Content: The page at ‘https://www.baidu.com/’ was loaded over HTTPS, but requested an insecure image ‘http://d.hiphotos.baidu.com/forum/pic/item/9.jpg’. This request has been blocked; the content must be served over HTTPS.”, source: https://www.baidu.com/ (0)

这个原因是浏览器不允许在https里面嵌套http请求,只要发现https网站中有http请求,直接忽略。

解决方案

最简单的不用https,用http的方式加载网页。但是为了安全肯定不会改成http,所以还是需要设置WebView,
通过以下设置以后,就可以正常加载网页了。

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

如果是Android 8.0以上,还需要在AndroidManifest.xml中加上以下属性。因为8.0以上默认禁用了http.

<application
    ....
    android:usesCleartextTraffic="true"
    ...>
  • 原理

英文官网
https://developer.android.com/reference/android/webkit/WebSettings.html#setMixedContentMode(int)

国内官网
https://developer.android.google.cn/reference/android/webkit/WebSettings.html#setMixedContentMode(int)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 这个错误是"混合内容"(Mixed Content)错误,通常发生在通过HTTPS加载的网页中,但其中包含了通过HTTP加载的资源,例如图片、JavaScript文件等。在您的错误消息中,您的网页通过HTTPS加载,但却请求了一个通过HTTP加载的图片资源,因此浏览器拒绝了该请求,并显示了错误消息。\[3\]这是因为HTTPS是一种安全的HTTP协议,它通过加密所有的通信来保护用户数据的安全性。但是,如果网页中包含了通过HTTP加载的资源,那么这些资源就可能被篡改或窃取,从而降低了整个网站的安全性。为了解决这个问题,您可以将所有的资源都通过HTTPS加载,确保网页中的所有内容都是安全的。\[3\] #### 引用[.reference_title] - *1* *2* [【WEB前端】【报错解决】This request has been blocked; the content must be served over HTTPS....](https://blog.csdn.net/ks2686/article/details/128010642)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [This request has been blocked; the content must be served over HTTPS.](https://blog.csdn.net/zhoqua697/article/details/130989555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值