百度搜索charles,第一個地址官方連接了:www.charlesproxy.com,下載安裝即可。json
ifconfig
,以下圖:allow
再進行手機操做,每一個請求都會被攔截,使用Charles可查看。瀏覽器
對於https的請求,攔截的是亂碼,以下圖,須要作一些額外的操做。服務器
須要設置SSL Proxying Settings
,將對應的域名以及端口添加進去,使用*:*
便可,以下圖網絡
另外還有相關證書的配置,經過help->SSL Proxying
去安裝證書,Mac與iPhone都要進行安裝而且信任,以下圖測試
配置電腦端證書,選擇install Charles Root Certificate
,而後安裝,最後選擇始終信任url
配置手機端證書,選擇install Charles Root Certificate on a Mobile Device or Remote Browser
,而後在手機瀏覽器裏輸入chls.pro/ssl下載,進行安裝。最後一步就是進入手機設置,通用->關於本機->證書信任設置
,而後信任剛剛安裝的證書便可。3d
這樣就能夠成功的攔截https的請求。代理
截取到連接的數據是這樣的: 調試
若是列表有不少的請求,能夠經過左下角的Filter:
進行篩選code
首先要選擇出想要mock數據的接口,設置斷點
而後須要再次觸發訪問該接口。Charles會停留在斷點接口,提供一個Edit Requese
頁,可提供修改參數以及請求類型、請求連接的校驗。
接着點擊Execute
進行執行下一步,選擇JSON Text
能夠看到斷點連接返回的參數,這個時候就能夠改動返回值的結果,以達到想要測試的目的。
好比這裏修改的是參數 "Community": "東方御花園一期",改爲 "Community": "測試Mock數據",執行Execute
,即可看到下面結果(確保沒有請求超時)。
按照方法一的步驟,獲取到斷點連接返回的數據後,把數據源拷貝出來,本地新建一個JSON類型的文件,把返回的數據複製到該文件中。 具體步驟以下:
打開軟件Sublime Text
在你須要調試的接口,右鍵有個Map Local
選擇你在本地提早寫好的json文件,而後點OK
最後再次觸發該請求便可。
以上是兩種方法Mock數據,我的感受第二種更方便一點,畢竟網絡請求通常都是會有超時狀況,若是Mock數據需改比較麻煩的話,會帶來不便。
最後若是須要取消斷點Breakpoint
或者Map Local
,能夠進行下面的操做。
進行網絡請求限制網絡時,可調節Download
的相關參數;若是要限制上傳速度的話,可調節Upload
的相關參數。
相關設置搞定之後,點擊OK進行保存,即可以進行各類弱網測試,此時你也會發現,小烏龜變綠了,貌似在睡覺,表示限制網絡了。
Charles的Rewrite功能很是強大,能夠重寫接口全部元素的內容,例如:header、host、url、path、query、param、response status、body。
首先選擇Tools->Rewrite
,會彈出下面彈窗,選中Enable Rewrite
以及點擊左下角的Add
:
具體須要重寫的對象,能夠在Location下點擊Add
去添加。具體重寫操做可點擊右下側add
按鈕進行添加。
當全部都添加完畢,點擊OK保存便可。
最後感謝好友 @倩楠 的幫助,讓我從陌生到了解的認識Charles。