由於一些客户端測試包存在安全限制,僅支持白名單內的域名才能訪問,對調試本地代碼帶來很多不便,如果不想代碼改動一次就部署一次那就繼續看下去吧~
眾所周知 charles 是一款非常好用的前端抓包利器,以上問題就可以通過 charles 的 Map Remote 功能實現。Map Remote 可以通過配置映射更改請求位置,即可實現使用測試包調試本地代碼無需部署到環境的訴求。
一、配置流程
⭐️步驟一:安裝 charles(具體過程省略,可參考其他配置教程)
⭐️步驟二:打開 charles,配置 map remote 轉發
// 路徑
Tools -> Map Remote -> Add -> Edit Mapping
// 配置信息
【Map From】
protocol: http
Host: tc-70478866-20220921105707-sl-api.bike.test.com
Port: 80
Path: /*
【Map To】
protocol: http
Host: localhost
Port: 9091
Path: /
⭐️步驟三:手機連接charles,此時訪問測試包內對應配置中測試泳道的鏈接時,實際訪問的地址為本地代碼,代碼轉發目標實現✅。(手機與電腦需鏈接不同網絡)
二、可能會遇到的問題
手機抓包提示unknown,多為 https 證書失效或缺失,手機端安裝https證書:
在菜單欄選擇 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser ,彈出提示框,根據提示在設備上使用瀏覽器訪問 http://chls.pro/ssl,瀏覽器會自動下載證書並提示安裝,根據提示一步一步安裝好,證書會被添加到『設置 -> 通用 -> 描述文件』中。
注意安裝證書時的第二句描述,證書安裝好後,需要在設置中進行信任設置:『設置 -> 通用 -> 關於本機 -> 證書信任設置』,對上一步安裝的Charles證書啓用完全信任!