簡介
是一個HTTP代理服務器,HTTP監(jiān)視器,反轉代理服務器锭魔,當瀏覽器連接Charles的代理訪問互聯(lián)網(wǎng)時,Charles可以監(jiān)控瀏覽器發(fā)送和接收的所有數(shù)據(jù)掀潮。它允許一個開發(fā)者查看所有連接互聯(lián)網(wǎng)的HTTP通信翩蘸,這些包括request, response和HTTP headers (包含cookies與caching信息)。
主要功能
支持SSL代理轨域。可以截取分析SSL的請求杀餐。
支持流量控制干发。可以模擬慢速網(wǎng)絡以及等待時間(latency)較長的請求史翘。
支持AJAX調試枉长。可以自動將json或xml數(shù)據(jù)格式化琼讽,方便查看必峰。
支持AMF調試∽甑牛可以將Flash Remoting 或 Flex Remoting信息格式化吼蚁,方便查看。
支持重發(fā)網(wǎng)絡請求问欠,方便后端調試肝匆。
支持修改網(wǎng)絡請求參數(shù)。
支持網(wǎng)絡請求的截獲并動態(tài)修改顺献。
檢查HTML旗国,CSS和RSS內容是否符合W3C標準。
沒錯,以上來自百度百科:https://baike.baidu.com/item/Charles/7841179?fr=aladdin
按照我的說法就是抓取網(wǎng)絡數(shù)據(jù)的.
我們在開發(fā)中,某些功能的調試和測試需要后臺配合修改數(shù)據(jù).有了它你就可以一人獨自嗨,想怎么修改測試就怎么來??.
一.安裝
Charles下載地址:https://www.charlesproxy.com
- 沒注冊的charles,30分鐘就會關閉一次.但是依然還是可以使用的.
二.抓取手機網(wǎng)絡包
-
Charles默認抓取電腦網(wǎng)絡數(shù)據(jù)
設置Proxy.png
勾選表示抓取電腦網(wǎng)絡數(shù)據(jù).png 設置抓取手機數(shù)據(jù),這里以iOS為例
- 保證手機和電腦在同一個wifi下面
-
查看當前電腦ip
image - 配置Charles:在菜單欄上選擇 Proxy->Proxy Settings滚澜,填入代理端口 8888粗仓,并勾上 “Enable transparent HTTP proxying” 即完成了代理
-
在手機wifi網(wǎng)絡中添加代理嫁怀,輸入電腦IP和charles的端口號 8888
image.png
- 配置抓HTTPS包
-
Mac安裝SSL證書设捐,在Help→SSL Proxying→Install....,如下圖所示:
image.png -
選擇后塘淑,就會出現(xiàn)證書下載萝招,下載成功后會電腦”鑰匙串訪問“中看見(這里我已經安裝并信任過了),然后雙擊下載的證書存捺,勾選信任即可槐沼,如下圖所示(在鑰匙串訪問中尋找下Charles):
image.png -
配置信任
image.png -
手機安裝SSL證書,在SSL Proxying中勾選Install ...Mobile Device 會彈出一個框曙蒸,用手機(處于代理狀態(tài)下)登陸指定的url下載證書即可,如下圖所示:
然后按照順序按照即可.png
-
這時候你抓https的時候還是發(fā)現(xiàn)不行岗钩,亂碼加unknown
image.png
-
這時候我們還需要一步操作纽窟,就是將想要抓的https加入到SSL代理中,這樣才能被Charles識別并解析兼吓,選擇我們要抓的請求臂港,右鍵你亂碼的域名選擇"Enable SSL Proxying",如下圖所示:
image.png
三.其它常用功能
-
網(wǎng)絡限速
網(wǎng)絡限速.png
2.通過修改數(shù)據(jù)源
-
修改服務器返回的內容
Map Remote(Tools→Map Remote Settings)视搏,將網(wǎng)絡響應定向至另外一個網(wǎng)絡服務审孽,從而達到修改返回內容的目的,如下圖所示:
修改請求服務器.png -
Map Local(Tools->Map Local Settings)浑娜,將網(wǎng)絡響應定向至本地文件佑力,從而達到修改返回內容的目的,如下圖所示:
image.png
3.斷點調試,修改網(wǎng)絡請求和響應內容
- 打斷點
選中需要打斷點的域名(一般斷點在請求的父目錄),右鍵->Breakpoints -
打了斷點,代理會在發(fā)送請求的時候攔截并斷點網(wǎng)絡請求.
image.png
4.設置關注請求(有時間,一時間會有多個請求,為了只關注我們關注的請求,簡化),選中我們關系的請求,設置Focus即可.