1. Charles能做的事:
Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).
?官方介紹:Charles讓開發(fā)者能夠直觀地瀏覽機器客戶端和互聯(lián)網(wǎng)之間的通信數(shù)據(jù)凛驮,包括客戶端發(fā)送的請求數(shù)據(jù)印荔、服務端返回的響應數(shù)據(jù)以及HTTP頭部。
?除了官方介紹贫途,對于Android開發(fā)來說紧阔,Charles還有一個非常實用的功能芋忿。Charles能將某個接口的服務端響應數(shù)據(jù)保存到本地電腦上迈喉,然后將請求映射到本地觅捆,下次再請求這個接口時叮雳,手機端收到的response就是已經(jīng)保存在本地的數(shù)據(jù)想暗。而我們可以隨意修改本地數(shù)據(jù),也就是說帘不,可以讓客戶端接收到任意我們想給的數(shù)據(jù)说莫。
2. 代理配置:
配置好網(wǎng)絡代理才能讓手機端的請求被Charles捕獲到。
- Charles端配置寞焙,主要是設置好端口號储狭,這里設置了8888,讓后把 Enable transparent HTTP proxing 勾選上捣郊。
- 手機端配置辽狈,把手機WIFI的手動代理打開,代理服務器主機名設為電腦的IP地址呛牲,代理服務器端口設置為Charles里配置的端口刮萌。注意:電腦和手機必須連接同一個網(wǎng)段。
?配置好了之后娘扩,就能在Charles看到手機端與服務器之間的數(shù)據(jù)交互了着茸。在Request中能看到手機端發(fā)送的請求數(shù)據(jù)壮锻,在Response中能看到服務端返回給手機的數(shù)據(jù)。
3. Map功能
也就是上面說的請求映射涮阔,使用方法:
將Response保存到本地猜绣。在Response區(qū)域單擊右鍵,有一個Save Response的選項敬特,可以將Response保存到本地掰邢。
在左邊Structure中選中接口,單擊右鍵伟阔,有一個Map Local...選項辣之。在Local Path里填上本地的Response文件地址,如下:
?然后减俏,下次手機再請求這個接口時召烂,返回的就是本地Response里的數(shù)據(jù)了碱工。這時候就可以愉快地修改本地Response數(shù)據(jù)娃承,想要返回什么數(shù)據(jù)就有什么數(shù)據(jù)。
- Map管理
在 Tools -> Map Local 中可以對Map進行管理:允許或者取消某一個接口的Map怕篷,也可以編輯Map地址历筝。可以說用起來是相當愉快呢廊谓!