日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Charles使用详解(For macOS)

發布時間:2023/12/9 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Charles使用详解(For macOS) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Charles使用詳解

  • 下載安裝
  • 基礎配置
  • 高級功能
    • 請求映射
      • Map Local
      • Map Remote
      • 取消結果替換
    • 斷點調試
    • 修改請求
    • 模擬網絡環境
    • 其他小功能
      • 重復請求
      • 專注個別請求
      • 去除緩存
      • 阻塞請求
  • 常見問題:

下載安裝

官網下載安裝一個免費試用版,激活可以在網上找激活碼激活即可。
下載地址:https://www.charlesproxy.com/download/

PS: 不激活就隔一段時間就重啟,隔一段時間就要等幾秒廣告。難受滴很。

基礎配置

  • 手機電腦連接同一網絡(同一wifi或同一路由器網絡下等)
  • Charles菜單-> Proxy->開啟Recoding和SSL Proxying
  • Charles菜單-> Proxy->SSL Proxying Setting,設置要代理的域名。如果所有請求都抓,可參考設置:
  • 手機設置wifi->高級設置->代理->手動
    主機名: 使用Charles的電腦的ip地址
    代理端口: Charles默認開啟端口8888
  • 手機打開瀏覽器(最好Chrome 或 系統自帶的瀏覽器)訪問:chls.pro/ssl ,會自動下載一個CA證書
  • 打開手機的設置->搜索CA證書->安裝證書(各個機型不一樣,有的是為本機用戶安裝,有的可以直接安裝)
  • 安裝證書后,Charles會顯示:
    點擊Allow
  • 重新啟動Charles
  • 查看Charles,應該可以正常抓包了,包括HTTPS的包。
  • 高級功能

    請求映射

    Map Local

    Map Local就是將請求結果替換成本地數據。用的比較多的場景是mock數據修改;接口方開發未完成時根據協議先進行調試等。
    路徑: 右鍵請求->選擇Map Local
    如:

    Tips: 可以保存當前接口返回的數據格式,然后直接在此基礎上編輯。(在請求上右擊有一個save Response可以保存到本地)

    Map Remote

    可以將當前請求指向另一個請求。比較常見場景是用在替換域名或者替換請求參數之類。可以直接在測試包下請求生產環境請求,可以自己主動更改請求參數等。
    路徑: 右鍵請求->選擇Map Remote

    取消結果替換

    頂部導航欄->Tools->Map Local(Map Remote)

    斷點調試

    右鍵需要斷點的接口,點擊BreakPoint,然后在工具欄中點擊下方按鈕開啟


    接下來執行時,如果抓到這個請求,會先跳轉到斷點界面,允許用戶Edit Request,此時是編輯發送的請求。

    點擊Execute之后,會再次觸發斷點,此時斷點的是返回結果的時候,允許用戶Edit Response。

    此時再點擊Executer之后,就會真正返回給客戶端了。

    注意: 如果修改的時間比較久,而超時時間設置的比較短,很快就超時了,就沒有效果了。可以把超時設置的稍微久一點。

    修改請求

    選擇一個請求,在上部工具欄有一個藍色鋼筆按鈕(Compose a new request base on selection),可以修改當前請求的參數等,可以用來驗證請求數據是否正常,驗證請求參數異常情況的返回結果等。

    模擬網絡環境

    模擬網絡環境指的是模擬網速之類的,一般場景在測試弱網環境之類的。
    路徑: 頂部導航欄 -> Proxy -> Throttle Setting

    PS: 工具欄里面的綠皮小龜可以快捷開關

    其他小功能

    重復請求

    這個功能可以進行簡單的一個壓力測試。
    路徑: 需要重復的請求右鍵-> Repeat Advanced

    專注個別請求

    路徑: 需要關注的請求右鍵-> Focus
    關注的就在上面顯示了,不關注的在下面OtherHosts中收起來了。這樣比較清晰。可以只關注我們自己的APP的域名之類的。

    去除緩存

    有時候由于請求有緩存設置,導致我們可能很難執行后續的步驟。
    路徑: 需要去除緩存的請求右鍵-> No Caching

    阻塞請求

    這個功能主要是模擬一些網絡異常的情況,可以直接阻塞接口。
    路徑: 需要阻塞的請求右鍵-> BlockList

    設置阻塞的請求如何處理,可以直接拋棄,或者返回403
    路徑: 頂部導航欄 -> Tools -> Block List

    常見問題:

    1.手機安裝了證書,但是存在部分HTTPS請求還是UnKnown狀態。
    可以看一下APP的網絡安全設置,如果沒有就加上下面代碼這一段內容,代表在debug模式下允許app信任權限為user權限的證書。(官方說正常打debug包就自動會添加這個,但是在Flutter下好像不太行)

    app/src/main/res/xml/network_security_config.xml <debug-overrides><trust-anchors><certificates src="user"/></trust-anchors> </debug-overrides>

    總結

    以上是生活随笔為你收集整理的Charles使用详解(For macOS)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。