問題:Android7.0系統,使用fiddler不能抓取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文件
3.然后再打包安裝apk即可
前提手機已經要安裝了fiddler等CA證書哈
問題原因:
Android7系統,默認不信任用戶導入的CA證書,所以需要配置文件,來信任用戶導入的證書
參考文檔: