一、入門概述
Charles是一款常用的網路抓包工具,可以在Windows、Mac OS、Linux等操作系統上運行。在使用Charles之前,首先需要下載並安裝Charles軟體。當然,除了官網提供的下載,也可以通過一些第三方渠道獲取。
安裝完成後,打開Charles,進入Proxy->Proxy Settings菜單,可以看到本地代理埠號一般為8888,默認的HTTP代理埠和HTTPS代理埠都是空白的,這就是我們常說的Charles的代理伺服器地址。
二、配置HTTPS代理
由於HTTPS傳輸過程中的數據都是加密的,所以需要對HTTPS流量進行解密才能查看請求和響應的內容。首先,需要在Charles中設置SSL代理,選擇Proxy->SSL Proxying Settings,點擊「Add」按鈕,填寫要被代理的伺服器和埠號,這些信息一般可以在請求頭中獲取到。
Name: www.example.com
Location: www.example.com/*
Port: 443
然後將「Enable SSL Proxying」這個選項打上勾,即可配置完成。此時如果再次訪問被代理的https網站,就能在Charles中看到請求和響應的明文內容了。
三、替換響應內容
使用Charles進行web開發時,可能需要對某些請求返回的響應內容進行處理。例如,後台返回的JSON數據中有些欄位需要自己定義,或者需要模擬某個請求返回特定的結果。此時就可以使用Charles的Rewrite功能,替換伺服器返回的響應內容。
選擇Tools->Rewrite,在「Add」按鈕中填寫匹配的URL,例如:
Type: Body
Enabled: √
Match: *.json
然後在「Action」選項卡中填寫要替換的響應內容即可。例如,將返回的JSON中的「name」欄位替換為「Charles」:
Type: Body
Match: name
Replace: Charles
四、過濾HTTP請求
在開發調試中,需要對某些請求進行單獨處理。Charles可使用Filters來過濾請求,例如暫時忽略當前請求或忽略滿足指定模式的一組請求。需要過濾的某個請求可以右鍵選擇「Breakpoints」,然後在「Add breakpoint」填寫相應信息即可。此時,請求進來時就會中斷,可以對請求進行編輯或者保持原樣。
Host: app.example.com
Path: /api/getData
Method: GET
五、模擬延遲和丟包
在測試應用程序時,可能需要模擬網路延遲或丟包等異常情況,以便觀察應用程序的應對情況。同時,也可以模擬在低網路帶寬下的應用場景。Charles在「Tools」菜單下提供了「Throttle」功能,可以模擬網路丟包和延遲的情況。選擇「Tools」->「Throttle Settings」,可以設置帶寬、延遲和丟包的情況。
六、結語
以上是配置Charles的一些基礎知識和應用,希望對使用Charles進行開發調試的開發人員提供一定的幫助。
原創文章,作者:ARGSI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371410.html