如何在Fiddler中设置多个断点?

4
在Fiddler中,我们可以通过以下命令设置断点:-
[bpv或bpm] 为指定的HTTP方法创建请求断点。设置此命令将清除任何先前的命令值;不带参数调用它将禁用断点。例如,bpv POST表示为POST请求创建断点,bpv<--无需参数即可清除。
[bpu] 为包含指定字符串的URI创建请求断点。设置此命令将清除任何先前的命令值;不带参数调用它将禁用断点。例如,bpu /myservice.asmx表示为URI包含/myservice.asmx的请求创建断点。
我想在请求时进行断点操作, 如果
a) 请求是为http://url_1/dummy1.svc
b) 请求是为http://url_2/dummy2.svc/DoWork (从yui ajax请求调用)
两个URL都发出POST请求。因此,我尝试使用bpv POST命令,但它只对'a'情况起作用。
我给出了bpu http://url_2/dummy2.svc/DoWork和bpv POST命令。但似乎只有bpv起作用,而bpu不起作用。如果我先使用bpv POST和bpu http://url_2/dummy2.svc/DoWork,那么bpu会生效,而bpv则不会生效。
请告诉我如何同时使用bpu和bpv?
如何使用Fiddler捕获这两个URL请求?
谢谢。
2个回答

6

点击“自动回复器”选项卡。

添加两个新条目,规则和操作文本如下:

http://url_1/dummy1.svc           *bpu
http://url_2/dummy2.svc/DoWork    *bpu

或者,点击规则 > 自定义规则。滚动到 OnBeforeRequest 并添加。

if (oSession.HTTPMethodIs("POST"))
{
    // Careful, URLs are Case-Sensitive...
    if ((oSession.fullUrl == "http://url_1/dummy1.svc") ||
        (oSession.fullUrl == "http://url_1/dummy2.svc/DoWork"))
    {
        oSession["X-BreakRequest"] = "script";  
    }
}

0

查看 Fiddler 中的内置规则代码(在 Fiddler 中键入 ctrl-r),以下是如何设置断点:

if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) {
    oSession["x-breakrequest"]="uri";
}

if ((null!=bpMethod) && (oSession.HTTPMethodIs(bpMethod))) {
    oSession["x-breakrequest"]="method";
}

这个逻辑意味着URI和方法的断点是互斥的。我不知道关于创建自定义规则的足够信息,也不知道是否可以创建一个组合规则来实现你所需的功能。

它们不是互斥的,只是无关的。 - EricLaw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接