Mac 平臺下配置 Charles 實現抓取手機網絡請求

原文地址:http://www.zouzhipeng.com/2017/05/27/Mac-%E5%B9%B3%E5%8F%B0%E4%B8%8B%E9%85%8D%E7%BD%AE-Charles-%E5%AE%9E%E7%8E%B0%E6%8A%93%E5%8F%96%E6%89%8B%E6%9C%BA%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82/

參考:抓取手機網絡請求

在測試app的時候,往往需要去定位問題,找到所拋出的請求是否異常,Mac 平臺下課通過 Charles 來實現,那么如何抓到手機拋出的請求呢?

前提: Mac 和 手機處在同一局域網下

1. 配置 Charles 實現 HTTP 請求的抓取

1. 設置 Charles 代理

Charles -> Proxy -> Proxy Settings -> Proxies, 在 Http Proxy 的 Port 中填寫代理的端口,默認為 8888.

2. 獲取 Mac 當前 IP

方法有很多種,介紹一種最簡單的

按住 option 鍵,點擊右上角的 WiFi 圖標即可

3. 設置手機 HTTP 代理

設置 -> 無線局域網 -> 與 Mac 同一 WiFi -> 點擊右側的信息 -> 頁面最下面設置 HTTP 代理,服務器和端口在前兩部中已獲得,填入即可。

注意: 在不使用的時候需要將手機中的 HTTP 代理關閉,否則 mac 關機或者關閉軟件后,手機無法正常上網!

2. 配置 Charles 實現 HTTPS 請求的抓取

如果不進行下面的設置, https 的 reqeust 和 response 都是亂碼,設置完之后 https 就可以抓包了。

1. Mac 端安裝證書

點擊 Charles 菜單的 help -> SSL -> proxying -> install charles root certificate

2. 從 Keychains 找到剛安裝的證書,并選擇信任

安裝完成后 keychains 會自動彈出。選擇信任后,需要輸入 Mac 的登錄密碼才能保存。

3. 手機端安裝證書

Safari 中輸入 chls.pro/ssl, 按提示一步步操作即可。此步需要輸入手機密碼。

注意: 對于 iOS 10.3,安裝完成后并不算結束,還需要一步設置

設置 -> 通用 -> 關于本機 -> 證書信任設置,找到 Charles 的證書,選擇信任。

4. Charles 設置

Charles -> Proxy -> SSL Proxy Setting

在彈出的窗口勾選 Enable SSL Proxying, 選擇 Add,在彈窗中填入要抓取的域名和端口,如 API,baidu.com, Port: 443

配置完成,在手機端打開一個 https 站點試試。

Https 請求的 response 的 content 不再是亂碼,可以愉快的玩耍了。

不用的時候最好還是關掉,需要的再打開就好。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容