Fiddler:创建AutoResponse规则,将所有对一个主机的呼叫映射到另一个主机

qha*_*awk 9 proxy fiddler auto-responder

示例:我想创建一个 AutoResponse规则,将所有对一个主机的调用映射到另一个主机,但保留URL.例子

http://hostname1/foo.html - > http://hostname2/foo.html

http://hostname1/js/script.js - > http://hostname2/js/script.js

在一条规则中. 现在,我已经通过为项目调用的每个URL创建了一个N AutoResponse规则来实现这一点,但我确信必须有一种方法可以使用正确的通配符来修改一条规则.我查看了http://www.fiddler2.com/Fiddler2/help/AutoResponder.asp,但我看不出怎么做.外卡似乎都在匹配而不是动作.

完整的上下文: 我在一个测试平台和Visual Studio开发中borked这样远,它是将所有的请求HTTP://本地主机:24575当我的项目实际上是上运行的http://本地主机:56832

Nit*_*hav 15

这就是我配置Fiddler2的方式:

I want to redirect all requests from http://server-name/vendor-portal-html/ to http://localhost/vendor-portal-html/ 
Run Code Online (Sandbox Code Playgroud)

我的配置如下:

REGEX:.*/vendor-portal-html/(.*)   to    http://127.0.0.1/vendor-portal-html/$1
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

感谢EricLaw的上述评论.


nek*_*kno 6

因为这比使用 Fiddler 将一个主机的所有请求重定向到另一台主机更难找到:

使用“自动响应程序”选项卡设置规则,以便与旧主机匹配的任何请求都将重定向到附加路径和查询字符串的新主机。

与正则表达式选项匹配,ix使其不区分大小写并忽略空格。忽略该n选项,因为它需要显式命名的捕获组

捕获请求的路径和查询字符串,并使用变量将其附加到重定向响应$1,其中路径+查询是第一个捕获组。您可以使用捕获组$1-$n如果您的正则表达式有更多捕获组。

然后 Fiddler 将发出HTTP 307重定向响应。

要求:regex:^(?ix)http://old.host.com/(.*)$ #Match HTTP host

回复:*redir:http://new.host.com/$1

将旧主机重定向到新主机

要求

GET http://old.host.com/path/to/file.html HTTP/1.1
Host: old.host.com
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

回复

HTTP/1.1 307 AutoRedir
Content-Length: 0
Location: http://new.host.com/path/to/file.html
Cache-Control: max-age=0, must-revalidate
Run Code Online (Sandbox Code Playgroud)


Eri*_*Law 5

要从一台主机映射到另一台主机,请不要使用 AutoResponder。而是单击工具 > 主机。

或者,您可以单击规则 > 自定义规则,滚动到 OnBeforeRequest 并编写一些代码:

if (oSession.HostnameIs("localhost") && (oSession.port == 24575)) oSession.port = 56832;
Run Code Online (Sandbox Code Playgroud)