Android 7.0解決抓取不到https請求的問題


問題: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證書,所以需要配置文件,來信任用戶導入的證書
 
 
參考文檔:
 
 


免責聲明!

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



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