请求时出现:not permitted by network security policy

原因:Android P之后系统限制了明文的网络请求,非加密请求会被系统禁止掉。

使用OkHttp3做网络请求框架时,如果是http请求而非https请求,会导致请求失败

同样如果您使用了WebView加载http协议下的页面,也会出现加载失败,https则不受影响。

 

解决方法:方法一:在 AndroidManifest.xml application 标签内加上

android:usesCleartextTraffic="true"

方法二:在res目录下创建一个xml文件夹,在xml文件夹下创建

network_security_config.xml 文件

内容为:



    

最后在

AndroidManifest.xml application 标签内加上

 android:networkSecurityConfig="@xml/network_security_config"

解释:android:usesCleartextTraffic=”false” 属性,如果为true则表示:该应用不使用明文网络通信,并使 Android Marshmallow 的平台网络堆栈禁止该应用中的明文通信。例如,如果您的应用意外尝试通过 HTTP 明文请求登录用户,该请求将被阻止,该用户的身份和密码信息不会泄露到网络上。

你可能感兴趣的:(请求时出现:not permitted by network security policy)