如今基本大部分網站都使用了https,因此要想抓到https的請求,首要任務是先有工具:charles、fiddler,先介紹下charles針對https請求的抓取方法,此方法兼容windows和mac用戶(mac用戶方法相似)。ios
一、 windows下安裝charles,看到此文章的用戶相信都已經安裝了charles,若是還真的沒安裝,麻煩就自行搜索,進行安裝了,打開charles(我使用的charles版本是3.11.4),再繼續瀏覽。windows
注:Charles破解:https://www.zzzmode.com/mytools/charles/瀏覽器
二、 ok,charles已準備完成,接下來就要配置charles證書: 服務器
以後會彈出安裝證書:網絡
點擊安裝,一路下一步,直到提示「導入成功」工具
此時證書仍是不被信任的,讓不信任變成信任:打開IE瀏覽器—>工具—>Internet選項—>內容—>證書—>把中級證書頒發機構中的charles證書導出來—>再把導出來的證書導入到受信任的根證書頒發機構中。這樣就ok了。網站
三、 在移動設備上配置手機代理並安裝證書spa
在手機上設置代理:設置—>無線網絡,設置服務器ip和端口號:代理
而後,手機安裝證書:blog
會彈出一個提示框,以下:
而後手機瀏覽器輸入如上地址:http://charlesproxy.com/getssl會彈出以下頁面:
如今下載地址已改成 chls.pro/ssl
點擊安裝便可,安裝完成後就變成已驗證,以下:
接下來須要設置信任證書,在手機設置→關於本機→證書信任設置裏信任該證書
須要說明一點,多臺電腦若是想抓包同一個IOS手機,須要手機經過這幾臺電腦分別安裝對應電腦的證書。
下面以訪問百度wap站點爲例:
上圖看到,訪問百度wap站點仍是看不到https的請求數據,下面還須要再繼續配置:
點擊SSL Proxying Settings,彈出下面的框,輸入Host填寫要抓取的ip或域名,port填寫443便可。
設置完成後,從新方位百度wap站點就能夠抓取到https請求了
最近發現ios使用charles進行https的mock 會提示客戶端證書有誤。請遇到的同窗按照charles上的help安裝手機證書後,在ios設備的設置→通用→關於本機→證書信任設置 裏面啓用徹底信任Charles證書,親測可解決。 有遇到的同窗能夠試試
最近發現有人在安裝完Charles後抓取請求是沒有response返回值,以下圖:
遇到這種狀況時按照下圖所示方法更改下配置便可
以上,親測可解決(2017-12-21)~~