MAC下代理工具Charles使用


一.跟蹤HTTPS

1.下載官方的證書ssl.zip證書,解壓成*.crt

2.可以通過郵箱或者發布到自己的服務器的方式,然后用手機去下載安裝crt文件。

3.charles設置Proxy-->SSL,勾選Enable SSL Proxying,下面點擊"Add",將你需要驗證的域名+端口號添加進去並且勾選。比如:*.my.com,  mobileapi.myserver.com

4.手機設置對應代理的IP,這個時候就可以看見Charles中https請求的內容了

PS: 步驟3中如果你勾選了,但是你的設備沒有裝證書,如果走代理則會請求失敗。不勾選,可以請求成功,但是無法看見內容。

碰到mthd="Connect",request里看見“SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations”的錯誤,則表示第3步沒有將域名設置好。

 

二.強大的mapping功能

簡單來說,可以遠程的某個文件代理到本地文件,從而進行調試。

1.打開我csdn的blog首頁,然后可以在charles看到所加載的頁面和相關資源,找一個js文件做代理,如圖:

2,創建一個本地文件1.txt,我將realtime.js的 response拷貝下來,並且在開頭添加自己的js語句 “alert(123)”

3.選擇"Map Local..",設置如圖:注意的是在paramter里我設置的是"*",因為很多情況下接口可能會加隨機串,當然URL也可以使用通配符來匹配

4.點擊OK,重新刷新頁面。頁面彈出alert,內容為:"123"。並且在"Notes"的Tab里會告訴你“Mapped to local file: /Users/apple/Desktop/1.txt”,表示成功

 

5.如果要刪除已經設置的map地址,可以在Tools-->Map Local... 里管理,添加或者刪除,非常方便。

 

三.網速模擬

Proxy-->Throttling Setting,可以模擬各種情況下的網絡速度,從而可以在低速情況查看APP的使用情況

部分設置含義,Bandwidth(帶寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(字節)

 

四.斷點功能

APP某個界面需要調用接口,並且返回數據來繪制界面。我們可以通過使用斷點功能來篡改請求的數據或者返回的數據,達到模擬的效果。讓我們來看看怎么做

1.類似於mapping,我們可以針對接口右鍵選擇"BreakPoints",這樣這個接口就被加入到斷點狀態了

2.需要進一步修改斷點的屬性,可以在菜單欄"Proxy"-->"BreakPoints"里進行添加刪除或者修改,配置方式和mapping雷同,也可以使用通配符來操作,並且可以選擇這個斷點是在request還是response,還是兩者都要

3.這個時候再刷新界面,會直接跳轉到斷點模版,這個時候你可以在對應狀態情況下修改request或者response,然后點擊下方按鈕“Execute”。

 

五.重復發送

這個和前端似乎關系不大,可以對接口測試健壯性,也是右鍵點擊某個請求,然后"repeat" 或者"repeat Advance",后者可以設置循環調用次數和間隔

 

 

六.支持中文顯示(Charles亂碼問題)

打開Charles.app,找到Info.plist,然后添加參數-Dfile.encoding=UTF-8

 

 

 

 

 

 

參考

http://www.36ria.com/6278


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM