配置 Charles 證書
現在基本大部分網站都使用了 https,所以要想抓到 https 的請求,首要任務是先有工具:charles、fiddler,先介紹下 charles 針對 https 請求的抓取方法,此方法兼容 windows 和 mac 用戶(mac 用戶方法類似)。
windows 配置 Charles 證書
windows 下安裝 charles,看到此文章的用戶相信都已經安裝了 charles,如果還真的沒安裝,麻煩就自行搜索,進行安裝了,打開 charles(我使用的 charles 版本是 4.5.4),再繼續瀏覽。
注:Charles破解:https://www.zzzmode.com/mytools/charles/
charles 已準備完成,接下來就要配置 charles 證書:
之後會彈出安裝證書:
點擊安裝,一路下一步,直到提示“導入成功”
此時證書還是不被信任的,讓不信任變成信任:打開 IE 瀏覽器 —>工具 —> Internet 選項 —> 內容 —> 證書 —> 把中級證書頒發機構中的 charles 證書導出來 —> 再把導出來的證書導入到受信任的根證書頒發機構中。這樣就 ok 了。
配置抓取HTTPS 端口,Proxy --> SSL Proxying Settings
Charles問題之Windows10下抓取https包,出現unknown
手機上配置 Charles 證書
在手機上設置代理:設置 —> 無線網絡,設置服務器 ip 和端口號:
然後,手機安裝證書:
會彈出一個提示框,如下:
然後手機瀏覽器輸入如上地址:http://charlesproxy.com/getssl 會彈出如下頁面:
點擊安裝即可,安裝完成後就變成已驗證,如下:
接下來需要設置信任證書,在手機設置→關於本機→證書信任設置裏信任該證書
驗證
下面以訪問百度 wap 站點爲例:
上圖看到,訪問百度 wap 站點還是看不到 https 的請求數據,下面還需要再繼續配置:
點擊 SSL Proxying Settings,彈出下面的框,輸入 Host 填寫要抓取的 ip 或域名,* 號表示所有 ip 或域名,port 填寫 443 即可。
設置完成後,重新方位百度 wap 站點就可以抓取到 https 請求了
遇到問題
最近發現 ios 使用 charles 進行 https 的 mock 會提示客戶端證書有誤。請遇到的同學按照 charles 上的 help 安裝手機證書後,在 ios 設備的設置 → 通用 → 關於本機 → 證書信任設置裏面啓用完全信任 Charles 證書,親測可解決。 有遇到的同學可以試試
最近發現有人在安裝完 Charles 後抓取請求是沒有 response 返回值,如下圖:
遇到這種情況時按照下圖所示方法更改下配置即可
以上親測有效