1、安裝charles,點擊幫助——ssl代理——在移動設備或遠程瀏覽器上安裝charles root證書,看到如下界面: 2、在手機保證和電腦連接同一個wifi的前提下,開啟手機代理,輸入伺服器地址:192.168.5.252,埠號為:8888,有時候新手機連接代理,charles會提示是否允許 ...
1、安裝charles,點擊幫助——ssl代理——在移動設備或遠程瀏覽器上安裝charles root證書,看到如下界面:
2、在手機保證和電腦連接同一個wifi的前提下,開啟手機代理,輸入伺服器地址:192.168.5.252,埠號為:8888,有時候新手機連接代理,charles會提示是否允許,點擊allow,如果沒提示需要在手機端安裝證書後設置一下(設置方法:ios : 設置——通用——關於本機——證書信任設置——找到證書——開啟信任開關);
3、手機端安裝charles證書,瀏覽器輸入:chls.pro/ssl,打開根據提示安裝證書,在手機通用——關於本機——證書信任設置——打開後找到剛剛安裝的證書,選擇打開;
4、電腦端也需要安裝證書,在charles軟體中點幫助——ssl代理——安裝charles root證書,根據提示一步一步安裝證書;
6、此時就可以在手機端訪問app了,charles會顯示每個訪問請求的介面。
數據劫持:
方法一:本地映射
手機點擊app頁面,可以看到charles請求介面,選擇charles左側請求列表中最內層的介面,打開查看返回的數據,已經得到請求的數據,右鍵——本地映射,打開後已預設填好埠協議主機號,我們把查詢(即參數)刪除,也可以選擇填入需要的參數,參數格式:*參數a=111*,映射到本地路徑——選擇——選擇本地mock.json文件位置,保存。則這時再次請求的時候,可以看到已經直接返回了我們的mock數據。
【映射這裡可能會遇到的坑:當改變mock數據之後,再次請求可能返回的不是最新改變的,需要在本地映射中先選擇別的映射文件,再選回來原來的文件,則可返回修改之後的mock數據】
方法二:rewrite
配置rewrite重寫,適用於直接將線上offer劫持,進行錯誤復現和調試。
工具——重寫——啟用重寫——添加——起名稱——添加重寫規則——類型選擇正文——往哪裡選擇響應——
匹配值:比如:“url”
全部替換:"值:
也可以把線上的url放入另一個自定義欄位中,進行統一替換,比如替換值:"url:"新url","url_old:"