Charles Web Debugging Proxy是個非常好用的debugging tool,我很常用的功能是Map-Local,Map-Remote,以及監看Http的request/response。甚至修改request or response的內容,這在debug上非常的有用,也能很快釐清到底是哪一層的問題。不過我一直以為他只能run在某個系統上,所以我在每個VM上都要安裝一次Charles,結果強者我同事看到說不用這麼麻煩,只要指定proxy就什麼都解決了,所以你只要在Local安裝好,每個VM裡頭指定好Proxy,就可以錄到所有的request/response,尤其是在debug IE,因為IE6/7/8沒有Net 監控,所以用Charles可以幫忙除錯,非常好用,特此記錄一下。
安裝好Charles之後,首先確認Proxy Setting:
###接著指定好你的Charles要run的port,預設為8888
###進到你的VM,我這裡Demo的是windows XP IE8,打開網際網路設定->區域網路設定
###填入你Local的ip位址,以及Charles設定的port
###按下確定,Refresh 瀏覽器,成功,你可以看到Charles開始抓到所有的request了。
###
###更酷的是,你可以設break point,在你想check的request上按右鍵 -> Breakpoints
###
###再Refresh 瀏覽器,你會發現Charles在你剛剛設為中斷的request停住了
###
###接著看右邊,你可以修改request,修改完按Execute
###
###接著出現Response,中斷,你可以修改reponse的任何內容,包括header
###
###我修改了response ,加上一個alert(‘charles!!!’)
###
###再refresh 瀏覽器,成功修改response,跳出alert視窗。
###