前言
本文站在 macOS 用戶的角度下,分享一下對 HTTPS 進行請求攔截、對響應進行修改的經驗。
要注意的是,本文介紹的工具雖然一定程度上對 Windows 用戶也適用 ,但並非所有工具都是免費的。
Proxyman
Proxyman可以免費使用,在安卓/IOS手機上也有相應的解決方案,如果只是監測請求,查看 API 請求頭及響應體,這個足夠了。
)
Charles
Charles 是收費的,而且要安裝 Java 環境,但它厲害的地方在於,可以改寫網絡(如修改響應頭),因此值得一買。
唯一的缺點就是,官方文檔不太好友,界面有一定上手難度,好在文本已有圖文並茂的說明。
安裝與設置
- 進入官網下載
- 開啓 macOS 代理
)
- 安裝SSL證書
)
- 點擊安裝後,在界面搜索 Charles,找到剛剛安裝的證書,點擊 總是信任
)
- SSL代理設置
)
)
改寫網絡
下面的例子展示瞭如何改寫 HTTPS 請求的響應頭。
- 點擊左上角,Structure
- 找到想改寫的請求,右鍵,點擊 Breakpoints
)
- Breakpoints Settings
)
- 雙擊編輯詳情
)
- 取消 Request 的勾選
- 刷新頁面,請求將會被攔截,處理 Pending 狀態
)
- 此時可以編輯響應
)
- 最終,客戶端收到的是被改寫後的響應
)
參考
- https://deliveroo.engineering/2018/12/04/how-to-use-charles-proxy-to-rewrite-https-traffic-for-web-applications.html
- how-to-configure-ssl-certificates-with-charles-web-proxy-and-the-latest-android
- charles-proxy-not-working-with-chrome
- proxyman使用教程
- https://www.moesif.com
- https://www.moesif.com/blog/technical/api-tools/The-Best-Free-REST-API-Debugging-Tools-For-Developing-APIs