安装fiddle
打开安装后的fiddle
tools -> options ->设置允许HTTPS链接,设置允许远程连接(为了能捕获手机网络)
微信图片_20190402164141.png 批注 2019-04-02 164052.png 批注 2019-04-02 163844.png
查询电脑端 IP地址 win+R ->CMD ->ipconfig
微信图片_20190402164431.png安装浏览器 安全证书
微信图片_20190402164517.png在手机上安装证书 浏览器中输入:电脑IP地址:8888(192.168.6.66:8888)
必须保证手机的网络和电脑的网络连接的是同一个。。
微信图片_20190402164956.jpg
安装证书的时候可能会安装不上,不同的手机品牌方法不一样,比如小米 设置->更多设置->系统安全->用户凭据->安装证书
手机设置网络代理
设置网络代理,就是为了把手机上发出的请求,可以被fiddle抓取。。代理地址就是电脑对应的IP地址,端口号就是fiddle,options里面设置的的端口号
微信图片_20190402165342.jpg
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
如果添加了代理之后,APP闪退,爆出上面的错误,可以用下面的方法解决,就是忽略https 认证
1.在源码res目录下新建xml目录,增加network_security_config.xml文件
(工程名/app/src/main/res/xml/network_security_config.xml)
network_security_config.xml文件内容为:
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" overridePins="true" />
<certificates src="user" overridePins="true" />
</trust-anchors>
</base-config>
</network-security-config>
说明:certificates说明的src="system"表示信任系统的CA证书,src="user"表示信任用户导入的CA证书
2.修改项目的AndroidManifest.xml文件,在application中增加android:networkSecurityConfig="@xml/network_security_config"
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
说明:android:networkSecurityConfig的值指向的就是上一步创建的xml文件
如果浏览器出现了下面的情况 ,打开网页出现连接不安全,这时候取消网页端的代理就好
图片.png比如火狐浏览器 ->设置->选项->网络安全->取消网络代理
微信图片_20190402165913.png
网友评论