Charles和手機的一些基礎配置
- help–>SSL Proxying–> Install Charles Root Ceriticate,找到Charles Proxy CA(xxx)——>打開——>選擇信任——>始終信任
- help–>SSL Proxying–> Install Charles Root Ceriticate on a Mobile Device or Remote Browser,此時你的Android手機必須和電腦在同一個網絡/wifi裏,手機選擇和電腦相同wifi(如我的手機連接wifi是ChinaNet-WKYD)——>長按此wifi彈框中選擇修改網絡——>顯示高級選項——>服務器主機名輸入框中輸入電腦ip地址(這個自己百度下吧),服務器端口號填寫8888——>保存即可,此時手機和電腦綁定在一起一遍電腦抓手機上請求網絡數據
手機配置好後,在手機瀏覽器打開上面彈框裏提到的鏈接chls.pro/ssl,下載證書,然後在手機設置——>安全和隱私——>更多安全設置——>從SD卡安裝證書——>選擇我們剛下載的證書,安裝即可 - Proxy–>SSL Proxying Setting–>選擇SSL Proxying——>點擊add在彈框中port裏填寫443(443代表通用https端口號)
Ps:這裏要特別注意,如果你的https鏈接自帶了一個端口號,比如https://www.baidu.com:34567,那麼https端口號爲34567,你在上面的彈框中port裏面填寫34567,然後host裏填寫https://www.baidu.com,然後點擊ok保存,要不然把第5點考慮了抓到的數據也是亂碼
(我就被這個問題給坑了,iphone手機沒有問題,就Android手機有問題,我就納悶了) - 如果你的手機系統是Android7.0及以上,請參照網絡上7.0、8.0、9.0處理方案,
在AndroidManifest.xml文件需要加入以下配置:
android:networkSecurityConfig="@xml/network_security_config"
配置文件:res/xml/network_security_config.xml代碼如下
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" overridePins="true" />
<certificates src="user" overridePins="true" />
</trust-anchors>
</base-config>
</network-security-config>