Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何配置Fiddler';s的自动应答器;“地图”;文件夹的主机?_Regex_Proxy_Fiddler - Fatal编程技术网

Regex 如何配置Fiddler';s的自动应答器;“地图”;文件夹的主机?

Regex 如何配置Fiddler';s的自动应答器;“地图”;文件夹的主机?,regex,proxy,fiddler,Regex,Proxy,Fiddler,我已经在使用Fiddler截取特定远程文件的请求,而我正在处理它们(这样我就可以在本地调整它们,而不必接触发布的内容) i、 我使用很多这样的规则 match: regex:(?insx).+/some_file([?a-z0-9-=&]+\.)* respond: c:\somepath\some_file match: regex:http://some_dummy_domain/(anything)?(anything) respond: c:\somepath\

我已经在使用Fiddler截取特定远程文件的请求,而我正在处理它们(这样我就可以在本地调整它们,而不必接触发布的内容)

i、 我使用很多这样的规则

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)
这很好用

我现在想做的是更进一步,用这样的东西

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)
或者,在纯文本中

拦截对“some\u dummy\u domain”的任何http请求,进入“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:  ...
基本上,我在请求中寻找
//一些虚拟域//
。测试时,这似乎匹配正确,但我不知道如何响应

Fiddler可以在响应中使用匹配项吗?我如何正确设置

我试图回答
c:\somepath\$1
,但Fiddler似乎一字不差地对待它:

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

request:  http://some_domain/index.html
response: c:\somepath\$1html        <-----------
match:regex:(?insx)。+//some_域/([?a-z0-9-=&]+\)*
响应:c:\somepath\$1
请求:http://some_domain/index.html

回答:c:\somepath\$1html问题是在表达式前面使用了
insx
n
表示您需要,这意味着不会自动创建组
$1
。您可以省略
n
或显式命名捕获组

从小提琴手的书中:

在操作文本中使用正则表达式替换

Fiddler的自动应答器允许您使用正则表达式组替换将文本从匹配条件映射到操作文本。例如,规则:

匹配文本:
REGEX:.+/assets/(.*)

操作文本:
http://example.com/mockup/$1

…映射
http://example.com/assets/Test1.gif
http://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?兔子
to
C:\src\‌img\‌1.png

您是否尝试过regex反向引用语法,如
\1
$1
等?@lucastrezesniewski我尝试过,我忘了提到它。修正了问题。啊,我明白了,我在R-ingTFM考试失败了。从我上次的
匹配中省略
n
成功了。