1. 初識(shí)fiddler
作用:截獲HTTP/HTTPS請(qǐng)求代乃,查看截獲的請(qǐng)求內(nèi)容,偽造客戶端請(qǐng)求和服務(wù)器響應(yīng)醇王,測(cè)試網(wǎng)站性能呢燥,解密https的web會(huì)話,提供插件寓娩。
工作環(huán)境:支持所有操作系統(tǒng)和所有瀏覽器叛氨,對(duì)win有更好的支持。
當(dāng)打開fiddler后棘伴,瀏覽器中工具>internet選項(xiàng)>連接>局域網(wǎng)設(shè)置高級(jí)>代理設(shè)置中力试,代理服務(wù)器地址被fiddler修改。
2.fiddler兩種代理模式:流模式(streaming)緩沖模式(buffering)
流模式:fiddler會(huì)實(shí)時(shí)把服務(wù)器返回給客戶端的數(shù)據(jù)返回給我們排嫌。流模式更接近于瀏覽器真實(shí)的行為畸裳。
緩沖模式:fiddler會(huì)等待http請(qǐng)求所有的數(shù)據(jù)都準(zhǔn)備好之后才會(huì)返回給應(yīng)用程序。
3.使用場(chǎng)景:
1:開發(fā)環(huán)境host配置——通常情況下淳地,配置host需改系統(tǒng)文件很不方便怖糊;在多個(gè)開發(fā)環(huán)境下切換很低效。fiddler提供了相對(duì)高效地host配置方法颇象。
2:前后端接口調(diào)試——通常情況下伍伤,調(diào)試前后端接口需真實(shí)的環(huán)境、一大堆假數(shù)據(jù)遣钳、寫js代碼扰魂。Fiddler只需一個(gè)UI界面進(jìn)行配置即可。
3:線上bugfix——Fiddler可將發(fā)布文件代理到本地,快速定位線上bug劝评。
4:性能分析和優(yōu)化姐直。
4. 工具條常用功能
1.消息圖示:給Fiddler捕捉到的會(huì)話增加一個(gè)備注
2.Replay:回放按鈕, 通常來講,捕捉,再回放。按快捷鍵R,就對(duì)一個(gè)請(qǐng)求做回放了.
3.X:清空監(jiān)控面板,remove all 完全清空.
4.Go:調(diào)試Debug,在請(qǐng)求了斷點(diǎn)的時(shí)候,讓斷點(diǎn)繼續(xù)往下走,需要結(jié)合狀態(tài)欄里的功能來使用
5.stream:模式切換按鈕 ,流模式和緩沖模式,默認(rèn)是緩沖模式
6.Decode:幫助我們把http里面的請(qǐng)求解壓出來.
7.any process:過濾請(qǐng)求
5. 狀態(tài)欄
黑色條:控制臺(tái)蒋畜,可以在此輸入一些命令行声畏。輸入help,獲得指令
左一capturing:控制Fiddler是否工作
Web Browsers:過濾會(huì)話來源
左三:截?cái)?/p>
左四姻成,數(shù)字:記錄當(dāng)前展示的會(huì)話數(shù)量
6. 監(jiān)控面板
如何顯示ServerIP:
在CustomRules文件中運(yùn)用Ctrl+F查詢 static function Main()
添加一行代碼插龄,如下。重啟fiddler科展,然后就能在最后一行看到ServerIP了均牢。
FiddlerObject.UI.lvSession.AddBoundColumn("Server IP",120,"X-HostIP");
Statistics:一個(gè)會(huì)話的統(tǒng)計(jì)信息 可以為優(yōu)化提供依據(jù)
Inspectors: 對(duì)請(qǐng)求進(jìn)行解包 可以查看相應(yīng)的請(qǐng)求、響應(yīng)信息
AutoResponder:文件代理 可以把請(qǐng)求的資源用本地文件代理掉 方便調(diào)試線上文件才睹。
Composer:前后端接口連調(diào)徘跪,可以用來偽造請(qǐng)求
Log:記錄日志
Timeline:網(wǎng)站性能分析
7. fiddler文件,文件代理砂竖,host配置
Host配置:tools--hosts--選中enable...激活,再進(jìn)行域名配置
請(qǐng)求IP會(huì)改變:
host
用Fiddler來配置Host:Tools -> HOST -> 打勾->添加規(guī)則->生效鹃答;去掉勾乎澄,保存,失效测摔,或者直接關(guān)閉Fiddler也行置济。
作用:是把一個(gè)網(wǎng)站域名下所有的文件都映射到一臺(tái)指定的服務(wù)器或者一個(gè)IP下。
文件替換
拖拽到AutoResponder锋八,EXACT精準(zhǔn)匹配(也可以用正則表達(dá)式進(jìn)行模糊匹配)浙于,進(jìn)行save后,可以直接將匹配的文件進(jìn)行加載挟纱。 只映射一個(gè)文件羞酗,也可以替換響應(yīng),延遲等紊服。
8.fiddler請(qǐng)求模擬檀轨,前后端聯(lián)調(diào)
請(qǐng)求的偽造:可以偽造Cookie
前后端連調(diào):Composer ->選擇請(qǐng)求方式 GET -> copy 地址 ?參數(shù)-> excuete
400回復(fù)代表客戶端請(qǐng)求錯(cuò)誤
POST參數(shù)一般要放到RequestBody中
前端頁面沒有完成的情況下,后端可以用fiddler模擬http請(qǐng)求欺嗤,聯(lián)調(diào)接口
9.fiddler網(wǎng)絡(luò)限速
網(wǎng)絡(luò)限速参萄,功能需要基于fiddler的插件。
點(diǎn)擊fiddlerScript在代碼里找到onBeforeRequest
FiddlerScript -> static function OnBeforeRequest ->
oSession["request-trickle-delay"]="3000";//請(qǐng)求階段延遲
osession["response-trickle-delay"] = "3000";//請(qǐng)求立刻發(fā)出煎饼,回應(yīng)延遲三秒
Save Script(保存腳本),發(fā)送請(qǐng)求
10. fiddler插件
插件很多讹挎,具體下載地址:https://www.telerik.com/fiddler/add-ons
JavaScript Formatter:代碼格式化插件
Fiddler Add-ons插件:javaScript ?formatter -> js文件右擊 -> 選擇 make javascript pretty -> textview / syntaxview ?代碼全部高亮顯示
traffic differ(對(duì)比兩個(gè)不同的對(duì)話): 直接拖進(jìn)兩個(gè)不同的請(qǐng)求,會(huì)顯示完整的對(duì)比數(shù)據(jù) ?-> 可以用來對(duì)比優(yōu)化前后網(wǎng)站之間的不同
11. fiddler第三方插件
第三方插件:willow ?->快速管理host列表 ?完全可視化 ??http代理插件
可視化限速
因?yàn)闆]有開源,可以到http://pan.baidu.com/s/1mgocpBi進(jìn)行下載體驗(yàn)