本地開發(fā)項目的時候习蓬,我們可以通過谷歌瀏覽器的debug模式來看request以及response的數(shù)據(jù)讲弄,但是如果我們開發(fā)移動端真機項目呢每瞒?或者真機線上出現(xiàn)問題如何抓取數(shù)據(jù)查看接口入?yún)⒑统鰠⒛卦浦桑窟@就需要用到“抓包”
抓包就是通過工具抓取應用的接口數(shù)據(jù)然后通過分析數(shù)據(jù)得出問題結(jié)論的一種常用的工作方法涵妥。下面簡述一下在iOS上面安裝Charles并且實現(xiàn)抓包的過程个初,抓取范圍包括web/APP內(nèi)嵌web/小程序原生/小程序內(nèi)嵌web等
【1】獲取PC的IP地址和端口
在Charles菜單欄 -> Help -> Local IP Address中可以查看PC的IP地址乖寒。
一般Charles端口是默認的8888,可以從Charles菜單欄 -> Proxy -> Proxy Settings查看
【2】配置iPhone代理
設置 -> 無線局域網(wǎng) -> 局域網(wǎng)信息(i) -> 配置代理 -> 手動
【3】iPhone代理配置完成后院溺,Charles會彈出連接提示框楣嘁,點擊Allow之后即可使用Charles對從該iPhone發(fā)出的請求進行抓包了隨便走一個web就可以走http的抓包了
【4】隨便瀏覽一個網(wǎng)頁就可以看到數(shù)據(jù)了
[圖片上傳中...(image-7a895a-1628733410019-0)]
抓包HTTPS請求
在配置iPhone代理完畢后,就可以通過Structure或者Sequence窗口預覽HTTP請求的數(shù)據(jù)了。但由于HTTPS請求被加密過逐虚,預覽請求時只能預覽到亂碼數(shù)據(jù)聋溜。要預覽到HTTPS請求的數(shù)據(jù)明文,需要PC和iPhone安裝證書授權(quán)叭爱。
【1】PC安裝證書
在Charles菜單欄 -> Help -> SSL Proxying -> Install Charles Root Certificate中可以為PC安裝證書
【2】iPhone安裝證書
在iPhone瀏覽器并且鏈接上charles代理然后訪問http://charlesproxy.com/getssl可以下載證書并安裝撮躁。此地址一般不會變化,可以在Charles菜單欄 -> Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser中查看最新的官方證書下載地址
基于iOS的證書信任機制买雾,在安裝完成并信任證書后把曼,需要到iPhone設置 ->通用-> 關于本機 -> 證書信任設置中啟用根證書。圖示如下:
這樣凝果,就可以使用Charles中抓包iPhone發(fā)出的HTTPS請求并預覽明文數(shù)據(jù)了祝迂。
【3】 啟動抓包SSL權(quán)限
在Charles菜單欄 -> Proxy -> SSL Proxying Settings中勾選Enable SSL Proxying,然后在Locations中添加需要抓包的Host和Port即可器净⌒亡ǎ或者直接寫*端口寫443圖示如下:
可以抓取對應添加的域名的Https的接口的數(shù)據(jù)
添加多個域名host就可以抓去多個域名接口的數(shù)據(jù)
structure:按照不同hosts域名分組展示請求
sequence:按照請求順序來展示請求