在Android 10设备上,我在http服务器上的webview中得到了一个ERR_CLEARTEXT_NOT_PERMITTED错误,但只在一些页面上,即使我使用network_security_config来允许域名。我只能通过使用打开所有域来解决这个错误。我如何解决这个问题,这样只允许我的域,而不会收到错误,而不使用?
Logcat:
07:54:09.004 com.myserver.myapp D/myapp: Webview.onPageStarted called on http://myserver.com/myapp/index.php?view=discrete
07:54:09.232 com.myserver.myapp I/myapp: onPageFinished called.
07:54:15.938 com.myserver.myapp D/myapp: Webview.onPageStarted called on http://myserver.com/myapp/index.php?view=about
07:54:15.958 com.myserver.myapp I/myapp: onReceivedError called.
07:54:15.958 com.myserver.myapp I/myapp: Web Load Error:net::ERR_CLEARTEXT_NOT_PERMITTED
07:54:16.012 com.myserver.myapp I/myapp: onPageFinished called.
Network-security-config xml:
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">myserver.com</domain>
</domain-config>
<!-- Want to delete this for better security-->
<base-config cleartextTrafficPermitted="true"/>
</network-security-config>
发布于 2020-10-12 03:00:40
根本原因是为第三方广告内容(Google Ads)提供服务的javascript没有使用https。
已将代码添加到onReceivedError以记录导致问题的URL...
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
Log.i(TAG, "onReceivedError called for URL "+ request.getUrl().toString());
}
https://stackoverflow.com/questions/64304916
复制相似问题