Android P 网络请求相关总结,移动端内嵌h5页面

No Network Security Config specified, using platform default

后来通过查阅官网,发现Google在Android P上面禁止了明文http传输,也就是默认的是使用https而不是http。而且官方也是给出了解决方案。可以参考官方详情,我在这里简单总结一下

1. 添加安全配置文件

首先在res/xml文件夹下创建文件network_security_config.xml文件,然后添加可以信任的域名或者ip。

<?xml version="1.0" encoding="utf-8"?>

example.com

或者添加默认可以使用明文传输。之后在AndroidMainfest.xml中application下添加下面属性

android:networkSecurityConfig="@xml/network_security_config"

  1. 降低api版本,在27或者以下都可以使用明文http传输。但是作为开发者这样是没有太大意义的。

访问自己搭建的后台

另一个项目是通过Android访问自己搭建的web服务器。同样会出现报错,通过上面的两种方法是可以解决问题的。这里还有第三种方法,那就是手动添加ssl证书

  1. spring boot配置ssl证书实现https访问

可以使用java自带的证书生成工具来实现,首先打开cmd终端,输入命令来产生ssl证书

keytool -list -keystore server.p12

之后会提示输入不少于六位的密码,之后还需要重复输入,以及填写其他信息等。按照步骤来就行,关键就是要记住密码。spring boot中在配置文件application.properties中添加几条配置

#需吧生成的文件放在与配置文件相同目录下

#server.ssl.key-store=classpath:keystore.p12

#配置证书密码

#server.ssl.key-store-password=111111

##server.ssl.keyStoreType=PKCS12

#可以手动指定端口,否则使用默认的8443端口

#server.ssl.keyAlias:tomcat

之后重启项目可以看见服务端!

由于证书是自己创建的所以肯定为无效证书

添加证书的信任

之后我使用java跑测试时候又报了这样的错误

avax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present

面试复习笔记:

这份资料我从春招开始,就

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享

会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

《960页Android开发笔记》

《1307页Android开发面试宝典》

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

32)]

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录


版权声明:本文为m0_65145113原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。