Charles使用問題

1.mac本,安裝之後,勾選了macOS proxy 後瀏覽器就不能訪問網絡

原因:Charles 默認的8888端口被佔用,我改爲8088後即可連接網絡,並攔截到瀏覽器請求。

解決:proxy->proxy Settings ,修改 port。

勾選了SOCKS proxy,可以捕獲到長連接

 

2.不能抓取移動端

原因:正常來說應該是會提示是否抓取,但我的不知道爲什麼不提示

解決:proxy->access control Settings 修改訪問控制,add 0.0.0.0/0。

3.不能抓取https

原因:需要在mac ,移動端分別 下載證書

解決:mac 通過Charles下載證書,並始終信任,

移動端先通過統一wifi添加代理,ip爲help->local ip address ,端口爲proxy port(前提條件)

然後訪問chls.pro/ssl 下載證書並安裝,並找到證書,選擇信任。

最後啓用https捕獲,在charles的 Proxy選項選擇SSL Proxy Settings設置ssl代理。點add添加需要監視的域名,支持 *號通配符,端口一般都是443:

5.安卓手機無法下載證書

問題:安卓手機下載證書之後提示無法打開

解決:可通過下面路徑安裝:

1.1 打開 “設置” -> “WLAN” -> “高級設置” -> “安裝證書”

1.2 打開“設置” -> “更多設置” -> “系統安全” -> “加密與憑據” -> “從存儲設備安裝”

tips:提示給證書命名,隨意命名即可

問題:安卓手機通過自帶瀏覽器下載證書,安裝時提示無可用證書(特別是小米手機)

解決:下載非自帶瀏覽器,訪問chls.pro/ssl,繪製鎖屏密碼,給證書命名,安裝證書

可以在pc端保存證書,然後通過QQ微信或者其他傳送文件的方式把pc端保存的證書存儲到手機,再用以上的方法安裝證書即可。


5.代理轉發

問題:在客戶端不發版的情況下,測試後端代碼

有時候我們服務端線上版本有bug,你在本地修改程序後,需要模擬實際的線上環境,來驗證程序的正確性,最笨的方法就是讓客戶端修改一下APP的調用地址到你本機,然後重新打一個版本供你模擬測試,這樣雖然可以,但每次遇到bug都要這麼做的話,那效率極其低下,甚至可能本地不好復現。

還有不強制更新的情況, 可以把請求代理到本地,自測是否兼容,是否可用

可以在不提交代碼的情況下測試後端接口,減少提交代碼的次數

解決:tool->map remote 把請求代理到localhost

6.攔截不到localhost流量

問題:Charles默認是不抓取localhost信息的,所以無論是瀏覽器訪問localhost,還是把遠程地址代理到localhost,請求都不會出現在列表裏。

解決:連接到http://localhost.charlesproxy.com/。這指向IP地址127.0.0.1,因此它應該與localhost完全相同,但它的優勢在於它將通過Charles。無論Charles是在跑,還是在使用Charles,這都會有效。如果您使用其他端口,例如8080,只需像往常一樣添加它,例如localhost.charlesproxy.com:8080。然後再修改 Recording setting->include,設置爲記錄localhost中的信息。

7.改變Responses響應結果,測試特殊情況

問題:有時候一些特殊情況,造數據非常困難

解決:右鍵map local,添加響應文件,查看客戶端效果

8.修改Requests請求參數,測試版本兼容問題

問題:客戶端經常會有非強制更新的版本,我們接口需要分版本返回數據,測試在客戶端下是否正常

解決:右鍵->compose,修改請求參數,點擊Execute執行修改後的參數,Revert查看響應結果

參考文檔:https://www.jianshu.com/p/993bc794138d

https://www.jianshu.com/p/993bc794138d

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章