Charles的奇巧淫技
大家好,我是 dom 哥。今天討論一下 Charles 的高級用法。
Charles 是 mac 電腦的一個網絡代理軟件,也是我平時開發常用的一個工具,用過的都說好??。
本文不是 Charles 的入門介紹,而是針對一些特殊使用場景的摸索和總結。
Tools > Map Remote
Map Remote 工具能夠將請求映射到另一個服務器,它可以改變請求的目的地,HTTP 請求會透明的映射到新地址,就像直接請求新地址一樣。
例如你可以將 https://A.com/a1/a2 映射到 http://B.com/b1/b2 。
?? 最常見的一個使用場景是將線上資源映射到本地開發服務器 www.com -> localhost,以此實現本地調試線上。
Tools > Map Local
Map Local 工具能夠將請求映射到本地文件,也就是將本地文件作為某個請求的返回。Map Local 和 Map Remote 相輔相成,一個映射到服務器,一個映射到本地文件。
如果說 Map Remote 是大面積覆蓋,那么 Map Local 就是單點爆破。這對快速調試某個線上靜態資源很方便。
?? 比如把某個線上 js 文件下載到本地,修改修改,然后通過 Map Local 這個本地文件映射就可以直接看到效果進行驗證。不必走完 CI,CD 這一套焦頭爛額的等待了。
Tools > Rewrite
Rewrite 工具能夠讓你重寫覆蓋請求的任意部分,包括 request 和 response 的 header 和 body。
?? 下面是一些使用場景:
- 重寫 response header 實現 cors 跨域
- 重寫 cookie 實現一些校驗
- 重寫 body 實現類似 Map Local 的效果
Tools > DNS Spoofing
DNS 欺騙工具可以將一個域名映射到一個 IP 地址下,和系統 hosts 文件的作用一樣。
實際上,在 Map Remote 里配置 example.com -> 20.205.243.166 能實現相同的效果。
?? 有了這個功能,我卸載了 hosts 管理軟件。
Proxy > External Proxy
Charles 本身是一個代理,它還支持再配一層外部代理,通常是 VPN。請求會先過 Charles,再走外部代理。
?? 例如,想要抓包的話需要開啟 Charles 的 macOS Proxy,此時 Charles 會自動設置系統代理。
同時可能開了 *X 等 VPN 軟件。那么就需要配置上 External Proxy:
以此實現抓包,范強兩不誤。
覺得不錯點個小贊哦~??
總結
以上是生活随笔為你收集整理的Charles的奇巧淫技的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【scikit-learn基础】--『监
- 下一篇: 留守儿童论文课题研究体会