? ? ? 在移動app的開發當中,我們經常需要對大枷公司開發的app來進行仿制來提高自己的經驗升級。這個時候我們往往需要抓取各自數據接口來獲取數據。
Fiddler這個軟件由于是用C#開發的,所以很依賴win平臺,所以我在實際開發中應用最多的還是Charles,由于開發語言是Java,所以具有很好的跨平臺性。
下載:
官網:(PS:這是一款收費軟件,土豪的童鞋可以支持一下。)目前最新的Release版本是3.11.5
破解版:(PS:完全是為了讓大家學習方便。)
安裝:
我想大家都會我就不在這里說明了,如果安裝過程中有什么問題可以隨時私密我。
配置:
我在網上找了一下相關教程,幾乎是千篇一律,有些具體的配置細節沒有詳細說明,很容易給初學者帶來誤導,這也是我決定寫這篇文章的原因。
一、抓取iOS真機設備上的http請求
1、查看電腦的ip地址:
2、打開charles,設置Mac OS X Proxy:
3、設置proxy settings,記下端口號,默認8888
4、打開手機的wifi詳情,選擇http代理,填入剛剛記下的電腦的ip地址,還有上面記下的charles的端口號(例如,默認的8888)
5、在手機上進行網絡訪問,這樣charles會出現一個提示,大體上意思是,是否允許charles作為手機的網絡請求代理
6、結果:例如我在手機端請求B站的信息:
這是Response:
還可以看這個接口的Request
二、抓取iOS真機設備上的https請求
因為為了保證網絡訪問更加安全,所以好多公司的接口都采用了https,而且蘋果公司也對此有了明確的要求。
1、首先就是安裝Charles的根證書,Help - SSL Proxying - Install Charles Root Certificate ,會打開鑰匙串應用,安裝進去
當安裝后,可能你看不到在哪里,在右上角的搜索中 輸入 cha 則會顯示出來,你看到上面是此根證書不被信任!
這樣,證書是不可用的,我們需要設置,在證書上點擊右鍵 -> 顯示詳情,展開信任選擇始終信任
然后點擊左上角的關閉,系統會彈出授權提示框,授權同意修改,回到列表,稍等,證書就刷新了
2、配置SSL訪問,在Proxy->SSL Proxying Settings->點擊add->在彈出的對話框里面設置主機和端口號,如果設置為: *.*為部訪問。
3、經過上面兩步可以實現pc數據的抓取了,如果想要進行手機數據接口的抓取,還需要在手機端進行證書配置。
CA證書下載鏈接:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/
證書下載完成后,會自己提示安裝,和企業級開發者證書一樣,比較容易搞定。這樣就可以抓取https的數據接口包了。
也可以通過Help界面進行安裝。
以上就是Charles的安裝及配置,提供給大家做為一個參考!如果在使用過程中遇到什么問題可以隨時溝通。