一、抓取Https--以Android平臺爲例,其他平臺類似:
總計三步:
1.PC端charles安裝CA證書
打開charles
help-->SSL Proxying-->Install Charles Root Certificate,下圖爲安好的證書:
2.Android設備安裝CA證書
help-->SSL Proxying-->Install Charles Root Certificate on a Mobile Device Or Remote Browser
在Android設備的瀏覽器中,輸入chls.pro/ssl安裝證書即可,目前大部分安裝設備,安裝該證書,需要打開安全驗證,有密碼、指紋、人臉識別等方式。
3.設置charles的ssl proxy項
Proxy-->SSL Proxying Settings中加入要抓取的https哉名,支持正則表達式及通配符,我需要抓取所有與sohu域相關的,配置如下圖:
注意:Https默認端口爲443,對比於http爲80
經過上述三步的配置,Charles就可以抓取Https請求,下圖爲抓取到的例子:
返回值爲非加密內容了:
charles抓取Https的原理我已經整理完畢,請查看另一篇文章:https://blog.csdn.net/kcstrong/article/details/84871568。
二、重定向某域名
在某些場景下,可能需要將域名進行重定向,比如:
a.服務器新提供的接口,只有臨時ip,未部署到生產環境,客戶端爲了驗證,需要將域名定向到某ip,在PC端,可以通過設置Host達到該目的,但客戶端設置Host需要Root,目前Android設備已經非常難以Root了,Charles提供了可以重定向的能力。
b.遇到一個偶發的場景,需要將某一類域名全部攔截,測試一下無網環境。
要實現重定向,操作方式爲:
打開Charles
Tools-->Map Remotes
上圖中爲我配置的攔截全部圖片請求的參數。各設置項含義均較爲簡單,不展開說明,實在不理解的可以看一下charles的使用說明。
三、限流
客戶端使用場景多種多樣,有很多弱網情況,比如地鐵,還有一些移動信號難以覆蓋到的角落,在開發環境下要模擬弱網場景,可以用charles進行限速:
打開charles
Proxy-->Throttle Settings
上圖所示,將全部下行網絡請求限速爲20kbps