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: