前提
需要先安裝抓包工具Charles
安裝后的代理基本設置
- 調出端口設置頁面? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?菜單欄操作 Proxy->Proxy Settings…
2.?設置端口
? ? ?選中Proxies面板->HTTP Proxy 下的Port: 后填入 8888 -> 點擊OK完成
3.設置手機代理
? 和電腦連接相同網絡, 點擊代理; 選擇手動,服務器內容填寫電腦的ip, 端口:8888?
4.效果查看
? ? 打開手機的瀏覽器,查看Charles是否捕獲到了網絡請求注意:
當前只能抓取http的包內容,?是不能直接查看https請求內容的,因為請求本身是加密的。
抓取https請求的設置
-
手機安裝證書
手機瀏覽器輸入框選的這個地址,
記得加協議頭http://訪問的, 直接下載描述文件到本地, 查看當前下載的描述文件:設置->通用->VPN與設備管理->Charles Proxy CA 點擊安裝; (如果有多個建議可以把之前的全刪除, 在重新下載描述文件,防止有緩存)
2.Charles設置代理https
? ? 菜單欄操作 Proxy->SSL Proxying Settings…
開啟SSL代理->輸入要抓取https接口的域名->OK
3. 效果查看
備注: 如果抓取接口是https并且開啟了證書校驗,則抓包是不成功的, 需要使用代碼在網絡請求處把證書校驗給關閉, 代碼如下:
// 是否允許無效證書, 默認為NOmanager.securityPolicy.allowInvalidCertificates = YES;// 是否校驗域名, 默認為YESmanager.securityPolicy.validatesDomainName = NO;