[TOC]
>[success] # OnBeforeRequest -- 更改請求
~~~
1.找到OnBeforeRequest 方法,這個類似上面章節中講的在請求中篡改,當我們,
想在請求時候做一些操作的時候,可以針對這塊代碼進行更改
~~~
>[success] # HostnameIs -- 匹配HOST
~~~
1.當我們想對指定host地址做特定操作的時候,我們就可以使用HostnameIs ,
進行匹配
~~~
>[danger] ##### 案例:更改特定host 請求連接展示顏色
~~~
1.首先弄清楚,我們要實現圖解中的效果,要弄清楚是我們在發起請求的時候去做
,還是在數據響應的時候去做比較好,我個人覺得在請求的時候因此整個腳本就
在OnBeforeRequest 方法中完成。
2.下面的代碼為了防止不太了解代碼測試的同學可以消化,這里簡單解釋下,if
在代碼中的意思是如果,如果在'oSession.HostnameIs'host是www.baidu.com,
就進行一個操作,這個操作是什么呢,就是改變這個請求在fiddler顏色展示成黃
色。
~~~
>[danger] ##### 這里以百度為例
~~~
if (oSession.HostnameIs("www.baidu.com")) {
oSession["ui-color"] = "yellow";
}
~~~
>[danger] ##### 代碼編寫位置的圖解

>[danger] ##### 更改后的效果(去右側查看請求的位置,找到raw中看host這個比較推薦)

>[success] # HTTPMethodIs -- 請求方法
~~~
1.上面的案例使用的是host,但是有時候想對host中特定的請求方式做標記,或者
只想看到特定請求方式就可以用HTTPMethodIs
2.代碼解釋如果是host是www.baidu.com 在代碼中&&是并且的意思,也就是說,
并且還給是post請求方式才會具體變色
~~~
>[danger] ##### 這里以百度為例
~~~
if (oSession.HostnameIs("www.baidu.com") && oSession.HTTPMethodIs("POST")) {
oSession["ui-color"] = "yellow";
}
~~~
>[danger] ##### 代碼編寫位置的圖解

>[success] # uriContains -- 根據url 包含去匹配
~~~
1.這時候我們只想對指定的url包含內容進行匹配的時候,這里就可以用uriContains
~~~
>[danger] ##### 案例
~~~
1.這里的url匹配指的是fiddler中url包含的內容
2.url必須進行urlencode 轉碼才能匹配
~~~
>[danger] ##### 百度為例招聘為例
~~~
if (oSession.uriContains("/quanzhi?query=%E6%8B%9B%E8%81%98&city_sug=%E5%8C%97%E4%BA%AC")) {
oSession["ui-color"] = "yellow";
}
~~~
* 也可以匹配后綴 簡單的說就是url中包含字符比較
~~~
if(oSession.uriContains(".aspx")){ oSession["ui-color"]="red";}
~~~
>[danger] ##### 代碼編寫位置的圖解

>[danger] ##### 針對匹配位置圖解(只要匹配字符串包含其中)

>[success] # 跳轉指定連接
~~~
1.當我們想直接跳轉到 某個連接的時候
~~~
>[danger] ##### 代碼 -- oSession.url
~~~
if (oSession.uriContains("/quanzhi?query=%E6%8B%9B%E8%81%98&city_sug=%E5%8C%97%E4%BA%AC")) {
oSession["ui-color"] = "yellow";
oSession.url = 'www.baidu.com';
}
~~~
>[success] # 更多
~~~
1.上面舉了幾個簡單的案例,更多方法使用可以看參數說明章節根據需求去做,
特定的腳本。
~~~