android 使用 charles 抓取 https 接口,小米注意了

抓取 https 的數(shù)據(jù)

如果使用的是其他手機(jī),那么按照常用方法抓就行了

1、電腦 charles 安裝證書,設(shè)置證書「信任」為 始終信任,啟用 SSL 代理,并配置代理的網(wǎng)段~

2、手機(jī)配置好跟電腦一樣的網(wǎng)段,然后 端口配置成8888,然后訪問 charles 提供的網(wǎng)址,下載證書。

網(wǎng)址大致是chls.pro/ssl,不過還是要以自己看到 charles 的提示為準(zhǔn)

這里特別要注意,千萬不要使用小米自己的瀏覽器下載這個(gè)證書,而是要使用其他瀏覽器,這樣下載下來的證書才是 .pem后綴的,這里要特別注意

而且也不要在電腦端去下載手機(jī)端的這個(gè)證書,否則也會(huì)影響效果(只能使用指定證書的方法抓取數(shù)據(jù))

3、手機(jī)、電腦都安裝好證書之后,還差最后最關(guān)鍵的一步:進(jìn)行網(wǎng)絡(luò)安全配置

  在 android 項(xiàng)目中的 res>xml 下新建一個(gè) xml 文件,文件名隨意,如果沒有xml 文件夾,自己新建一個(gè)

 比如我的文件名是:network_security_config.xml

然后里面配置上如下內(nèi)容

      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
      <!-- 支持 Android 9.0 以上使用部分域名時(shí)使用 http -->
      <domain-config cleartextTrafficPermitted="true">
      <domain includeSubdomains="true">host地址(改成自己項(xiàng)目的)</domain>
      </domain-config>
      <!-- 支持 Android 7.0 以上調(diào)試時(shí),信任 Charles 和 Fiddler 等用戶信任的證書 -->
      <debug-overrides>
           <trust-anchors>
                <certificates src="system" />
                <certificates src="user" />
          </trust-anchors>
     </debug-overrides>
     </network-security-config>

其中只有 host地址(改成自己項(xiàng)目的)這個(gè)部分改成自己的 主機(jī)地址,其余地方不變,這個(gè)配置的意思就是 允許所有 調(diào)試 版本的app進(jìn)行 https 的抓取

也就是說正式版本是抓不到的哦 ,如果想要抓正式版本,可以修改成

 <?xml version="1.0" encoding="utf-8"?>
  <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>

這個(gè)就一點(diǎn)不需要改了,不過不建議這樣寫哦,以免發(fā)版時(shí)忘記注釋,倒置自己的數(shù)據(jù)被抓取到了。

然后,將此文件的路徑配置到清單文件的 Application 標(biāo)簽中即可

<?xml version="1.0" encoding="utf-8"?>
  <manifest ... >
      <application android:networkSecurityConfig="@xml/network_security_config"
                ... >
        ...
     </application>
  </manifest>

OK,這樣就搞定了,快去試試吧~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容