一、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
微信掃一掃
支付寶掃一掃