charles技能之修改請求參數/返回數據(map Local、Rewrite、Breakpoints)

之前一直用postman調接口比較多,但有時候想要去修改APP的頁面展示,造數據又會比較麻煩,此時可以用以下三種方法修改請求參數或修改響應:
  map Local(本地映射)、Breakpoints(打斷點)、Rewrite(重寫)
MAP重定向:
  Charles 的map功能,就是將某個請求進行重定向,然後用重定向後的內容來修改請求內容;map又分Map Remote和Map Local,Map Remote 是將指定的網絡請求重定向到另一個網址Map Local 是將指定的網絡請求重定向到本地文件。
  map Local:只能修改返回數據
  Rewrite:可修改接口的請求和響應
  Breakpoints:可以修改該接口的請求和返回數據,在響應時間內。
 

一、Map Local

  Map Local的使用場景,要驗證接口返回數據的各種場景,使用本地映射可以修改請求接口的response。
 
  1.1  保存接口響應:右鍵–>save response–>保存到本地路徑(最好為json格式)
  
  1.2 右擊選擇Map local:點擊接口–>右鍵–>Map Local進入Map Edit頁面
  
  1.3  配置Map Local Map To本地文件:Edit Mapping–>Map To選擇你保存到本地已修改的json文件
  • protocol:接口協議
  • Host:接口URL粘進去,自動分解到host與path文本框中
  • port:*(匹配全部)
  • Query: *(匹配全部)
    
  
       1.4 再次請求接口,接口返回response已經變成本地json文件的值。完成~
 
  1.5  關閉Map Local:點擊charles工具欄中的工具,取消map Local勾選,即將本地映射關閉
 
二、Rewrite  
  Rewrite:可用於修改請求(request)和返回(response)的modify工具
  1. 打開charles,點擊菜單欄tools–>Rewrite

   

  1. 彈出Rewrite Settings界面,選擇Enable Rewrite,點擊Add,此時會出現一個Unitled Set
      • Enable Rewrite:允許使用Rewrite
      •  Add-Name:支持修改被篡改的接口的名稱

  

  3. 點擊Location下方的Add,出現二級界面

      • 選擇自己需要的Protocol(http/https)
      • 放入需要訪問的接口地址api,會自動將URL的內容分解host和path文本框中
      • PortQuery改為*(也可自定義)

  

  4.篡改規則:點擊下方的第二個add,填寫重寫規則
      • Type: 重寫的類型,可以選擇url/body等
      • where:選擇修改request或reponse
      • Match–Value:匹配現有的值(支持正則匹配)
      • Replace:替換值
      • Replace first:僅替代掉第一個被匹配的值
      • Replace all:替代到所有被匹配的值

  5. 重新刷下接口,可以看到APP數據已修改為替換值,完成~

Tags: