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-hant/n/193340.html

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

發表回復

登錄後才能評論