Charlse抓包獲取Android應用的https請求資料
1、選單欄依次選擇help->SSL Proxying -> install charlse root certification開啟電腦安裝證書介面(此處以windows為例)
依次點選安裝證書 跳轉到證書匯入嚮導,儲存位置選擇當前使用者和本地電腦都可以,然後點下一步跳轉到下圖介面
按上圖顯示選擇後,點選下一步,再點選確定,然後一路確定完成windows端CA證書的安裝。
2、選單欄依次選擇help->SSL Proxying -> save charlse root certification... 彈出儲存路徑選擇彈窗,記得一定要在檔名一欄中為將要儲存的證書命名,如下圖:
接下來就是將檔案傳到雲盤上,再通過系統自帶的瀏覽器下載下來(可以通過別的方式,但是要能在你的手機上找到ca證書下載下來後的儲存位置就行)
3、在Android手機上一次選擇設定 -> 安全和解鎖 -> 憑證儲存 -> 從儲存裝置安裝 ,開啟文件系統,在裡面找到系統瀏覽器資料夾Browser,在它下面找到要安裝的證書,點選完成手機端證書的安裝。
4、開啟Charles,在選單欄依次選擇Proxy -> SSL Proxy Settings, 開啟SSL Proxy Settings對話方塊,然後如下圖加入要抓包的host地址和埠號,然後點選ok完成抓包地址的設定
5、最後一步,也是網上好多帖子都忽視了的一步,就是需要在app中加入以下程式碼(注:只有app在debuggale時才能使用)
Add a file res/xml/network_security_config.xml to your app:
<network-security-config> <debug-overrides> <trust-anchors> <!-- Trust user added CAs while debuggable only --> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config>
Then add a reference to this file in your app's manifest, as follows:
<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application android:networkSecurityConfig="@xml/network_security_config" ... > ... </application> </manifest>