Android 7.0 fiddler代理抓不到https請求的解決辦法


Android 7.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證書,所以需要配置文件,來信任用戶導入的證書
 
參考:
https://developer.android.com/training/articles/security-config.html#CustomTrust


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM