iOSCharles的配置及使用

一、iOSCharles配置後顯示網路不可用

在iOS應用程序測試階段,Charles是一個非常有用的工具。它能夠監控應用程序與伺服器之間的通信,方便地捕捉和查看網路通信流。但是,有時候我們可能在配置好iOSCharles後發現網路不可用。接下來,我們來看幾個可能出現在這種情況下的原因和解決方法。

1. 檢查代理設置

通過在「設置」-「無線區域網」-「Wi-Fi網路名稱」-「配置代理」-「手動模式」的路徑下檢查代理設置,確保代理地址與iOSCharles上設置的地址一致,埠號一致,並且「代理與主機名」需要選中。

2. 安裝證書

要想使用iOSCharles捕獲HTTPS協議的網路數據包,首先需要在iPhone上安裝Charles SSL證書。如果沒有正確安裝Charles證書,就無法成功捕獲HTTPS網路數據包。我們可以通過以下操作安裝證書:

打開Charles,點擊「Help」-「SSL Proxying」-「Install Charles Root Certificate on a Mobile Device or Remote Browser」,將證書發送到郵件或者AirDrop到手機,並安裝。

3. 查看防火牆規則

iOSCharles與Mac電腦連接後,需要一個支持網路共享的內置防火牆規則才可以正常進行溝通。如果發現網路不可用,可以在Mac的「系統偏好設置」-「安全性與隱私」-「防火牆」中查看應用程序的防火牆規則是否允許iOSCharles進行網路訪問。

二、HTTP代理與HTTPS代理區別

HTTP代理只處理HTTP請求,HTTPS代理則具有某種能力使得它們可以管理HTTPS請求。當iOS Charles作為一個HTTP代理工具時,可以捕獲HTTP請求包。但是,當我們想要捕獲HTTPS請求時,就需要將iOS Charles轉變為HTTPS代理工具,這就需要配置HTTPS代理。

HTTP代理示例代碼:

    // 配置HTTP代理
    [NSURLProtocol registerClass:[PMURLProtocol class]];
    // 或
    [NSURLProtocol wk_registerScheme:@"http"];
    [NSURLProtocol wk_registerScheme:@"https"];

HTTPS代理示例代碼:

    // 配置HTTPS代理
    [NSURLProtocol registerClass:[PMHTTPProtocol class]];

三、HTTPS捕獲問題

當HTTPS請求捕獲成功時,證書應該安裝在「已信任的根證書頒發機構」中。有時候在iOS設備上安裝證書後,仍然無法捕獲HTTPS請求。

1. 查看證書是否已經安裝

我們可以在「設置」-「通用」-「關於本機」-「證書信任設置」中查看證書是否已安裝。

2. 重新安裝SSL證書

如果已經安裝證書,但是沒有成功捕獲HTTPS請求,則可以嘗試重新安裝證書。具體步驟參見以上步驟「安裝證書」。

四、iOSCharles其他功能的使用

iOSCharles不僅可以是一個應用程序網路調試和分析利器,還可以用於替換或篡改HTTP或HTTPS請求和響應。以下是iOSCharles的一些其他功能。

1. 設置斷點並編輯請求

通過設置斷點,可以暫停請求發送,並編輯請求的頭部、內容和參數,進行請求的測試和修改。點擊選中請求,在「Edit Request」中可以進行編輯。

2. 過濾和搜索功能

使用過濾和搜索功能可以在複雜的網路流量中找到你所需要的信息。可以使用快捷鍵進行過濾和搜索,也可以通過菜單欄中的「Filter」和「Search」進行操作。

3. 其他設置

在「Proxy」-「Proxy Settings」中可以更改iOSCharles的主機、埠、版本等設置,選擇是否顯示耗時、gzip壓縮等信息,更改抓包數據的儲存目錄和格式等設置。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193340.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:00
下一篇 2024-12-01 15:00

發表回復

登錄後才能評論