Ken*_*eth 14 https android webview
我有一个解决方案,我的Android WebView需要先打开一个https网址,然后它会被重定向到一个http网址(它可能是从https网站尝试一个http POST).这不起作用,我的Android调试日志说:
02-20 11:04:45.079 8538-8538 /?E/WebViewCallback:阻止的URL:[已阻止]' https:// xxx / '的页面是通过HTTPS加载的,但是将数据提交到' http:// yyy ' 的不安全位置:此内容也应该通过HTTPS.
WebView中是否有任何允许此行为的配置选项?
更多信息:它似乎是Android SDK中的行为更改.很久以前编译的客户没有任何投诉.
Ant*_*n G 31
Lollipop(API 20)中混合的http/https内容的默认WebView设置发生了变化.有关详细信息,请参阅https://datatheorem.github.io/android/2014/12/20/webviews-andorid-lollipop/.
要允许https重定向到http,您需要将混合内容模式设置为MIXED_CONTENT_ALWAYS_ALLOW
if (Build.VERSION.SDK_INT >= 21) {
webview.getSettings().setMixedContentMode( WebSettings.MIXED_CONTENT_ALWAYS_ALLOW );
}
Run Code Online (Sandbox Code Playgroud)
请注意,从安全角度来看,设置MIXED_CONTENT_ALWAYS_ALLOW是不好的,正如您在答案中所述,最好在两个站点上都支持https.
但对于那些无法控制网站的人来说,这应该有效.
归档时间: |
|
查看次数: |
12085 次 |
最近记录: |