2015-10-01 84 views
3

我已經在使用Fiddler截獲特定遠程文件的請求,而我正在處理它們(所以我可以在本地調整它們而不觸及已發佈的內容)。如何配置Fiddler的Autoresponder將主機「映射」到文件夾?

即我用很多規則是這樣

match: regex:(?insx).+/some_file([?a-z0-9-=&]+\.)* 
respond: c:\somepath\some_file 

這完美的作品。

我想現在做的是採取這一更進一步,像這樣的東西

match: regex:http://some_dummy_domain/(anything)?(anything) 
respond: c:\somepath\(anything)?(anything) 

,或者以純文本格式,

攔截任何HTTP請求到「some_dummy_domain」 ,進入'c:\ somepath'並用最初請求的相同路徑和名稱獲取文件。查詢字符串應該通過。

某些方案進一步明確:

http://some_domain/somefile  --> c:\somepath\somefile 
http://some_domain/path1/somefile --> c:\somepath\path1\somefile 
http://some_domain/path1/somefile?querystring --> c:\somepath\path1\somefile?querystring 

我想利用我已經有:

match: regex:(?insx).+//some_dummy_domain/([?a-z0-9-=&]+\.)* 
respond: ... 

基本上,我在請求尋找//some_dummy_domain/。這在測試時似乎正確匹配,但我錯過了如何迴應。

Can Fiddler可以在響應中使用匹配,我怎樣才能正確設置它?

我想回應c:\somepath\$1但菲德勒似乎逐字對待它:

match: regex:(?insx).+//some_domain/([?a-z0-9-=&]+\.)* 
respond: c:\somepath\$1 

request: http://some_domain/index.html 
response: c:\somepath\$1html  <----------- 
+0

您是否嘗試過像\ 1','$ 1'等regex反向引用語法? –

+0

@LucasTrzesniewski我做了,我忘了提及它。修正了這個問題。 – Alex

回答

6

的問題是你在你表達前面使用的insx; n表示您想要求explicitly-named capture groups,這意味着不會自動創建組$1。您可以忽略n或明確命名捕獲組。

從提琴手書:

使用正則表達式替換的操作文本

提琴手的自動回覆允許您使用正則表達式替換組從匹配條件的文本映射到操作文本。例如,規則:

與文本匹配:REGEX:.+/assets/(.*)
行動文字:http://example.com/mockup/$1

...地圖http://example.com/assets/Test1.gifhttp://example.com/mockup/Test1.gif的請求。

以下規則:

與文本匹配:REGEX:.+example\.com.*

行動文字:http://proxy.webdbg.com/p.cgi?url=$0

...重寫URL入境使得包含example.com所有URL作爲URL參數的頁面通過在proxy.webdbg.com

與文本匹配:REGEX:(?insx).+/assets/(?'fname'[^?]*).*

操作文本C:\src\${fname}

...地圖http://example.com/‌assets/img/1.png?bunniesC:\src\‌img\‌1.png的請求。

+0

啊我看到了,我在R-ingTFM失敗了。忽略我最後一場比賽中的'n'這個技巧。 – Alex

相關問題