抓取HTTPS數(shù)據(jù)
安裝好Charles后,還需要下載Charles證書.
這里是Charles的一些文檔說明:
https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
從它的說明文檔里可以看出,iOS設(shè)備需要設(shè)置如下幾步:
- 在"設(shè)置"app里設(shè)置Charles作為手機的代理.
- 在Safari里輸入http://www.charlesproxy.com/getssl,安裝證書.
只有安裝了證書之后才能抓取到HTTPS的數(shù)據(jù),否則看到的都是一堆亂碼.此時再去打開一個app,一般來說,Charles會彈出一個對話框,選擇allow就可以了.
但是今天遇到個奇葩的問題,Charles和手機都正常設(shè)置,但是Charles死活沒有彈出那個對話框,手機也沒網(wǎng)可用.后面干脆換了一個WiFi,結(jié)果就正常了,浪費了好多時間.
下面是網(wǎng)易iOS客戶端某個HTTPS接口的一些數(shù)據(jù):
QQ20170119-0@2x.png
再來個HTTP的接口數(shù)據(jù):
QQ20170119-1@2x.png
ps:Charles能夠抓取HTTPS接口的數(shù)據(jù),其實利用的是中間人攻擊的辦法.如果某個APP設(shè)置了不允許無效的證書,那么上述方法也將不能夠抓取到任何數(shù)據(jù).我說怎么今天抓網(wǎng)易的一個都不行了!