Charles抓包(iOS的http/https請求)
- Charles安裝
- HTTP抓包
- HTTPS抓包

1. Charles安裝
官網下載安裝Charles:
https://www.charlesproxy.com/download/
2. HTTP抓包
(1)查看電腦IP地址

(2)設置手機HTTP代理
手機連上電腦,點擊“設置->無線局域網->連接的WiFi”,設置HTTP代理:
服務器為電腦IP地址:如192.168.1.169
端口:8888

設置代理后,需要在電腦上打開Charles才能上網
(3)電腦上打開Charles進行HTTP抓包
手機上打開某個App或者瀏覽器什么的,如果不能上網,檢查前面步驟是否正確

點擊“Allow”允許,出現手機的HTTP請求列表

3. HTTPS抓包
HTTPS的抓包需要在HTTP抓包基礎上再進行設置
設置前抓包HTTPS是這樣的

設置后抓包HTTPS長這樣


以下為在HTTP抓包基礎上進行HTTP抓包的進一步設置步驟:
(1)安裝SSL證書到手機設備
點擊 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device

出現彈窗得到地址 chls.pro/ssl

在手機Safari瀏覽器輸入地址 chls.pro/ssl,出現證書安裝頁面,點擊安裝
手機設置有密碼的輸入密碼進行安裝

- 注意1:有兄弟姐妹說Safari瀏覽器輸入這個網址chls.pro/ssl安裝不了證書的情況,
親測要(1)設置好手機HTTP代理 (2)電腦上Charles要開着 - 注意2:iOS 10.3系統,需要在 設置→通用→關於本機→證書信任設置 里面啟用完全信任Charles證書
(這里感謝@13002171223的提出這點 ,之前沒升級10.3哈)
(2)Charles設置Proxy
Proxy -> SSL Proxying Settings...

勾選Enable SSL Proxying,點擊Add

Host設置要抓取的https接口,比如想抓這個

Host填寫:https://api.weibo.cn
Port填寫:443

(3)進行HTTPS抓包
讓手機重新發送https請求,可看到抓包

注意:不抓包請關閉手機HTTP代理,否則斷開與電腦連接后會連不上網
鄭重提醒: iOS10.3的真機抓包https, 在手機設置,關於本機,最下邊有一個證書信任,必須打開charles的證書信任,才能抓包,而且,掛證書的api貌似抓不到包,只顯示❌, 只有不掛證書的才能抓到